TypeScript 素描-变量声明
博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档
/*
变量声明在之前的js中一直是使用var关键字,现在支持了全新的声明
方式 let 与 const
var 声明的变量作用域一直很让人费解,所以现在推荐使用let来消除
var 声明变量带来的一系列问题
*/ // 第一个例子
function f(flag: boolean) {
if (flag) {
var xxxx: number = 10;
}
xxxx = 12;
}
//在方法中 if 里声明了变量xxxx,但是在if外忍耐可以访问xxxx,如
//果声明方式换成 let 则变量的作用域只存在 if方法内 //第二个例子
function fun3() {
for (var i = 0; i < 10; i++) {
for (var i = 0; i < 10; i++) {
}
}
}
//也许上面的例子并不会出错,也不会带来什么麻烦,但是第二个例子
//很明显就是属于会出错的类型了。两次for循环都声明了变量i,然后
//它们在后面的循环中就用了同一个变量 //所以说了这么多废话,就是说let多NB,大家快来用吧-.- 不过实话
//使用let可以消除这些问题,即使出错也会快速的定位到错误的所在 if (true) {
//而且在同一作用域是不可以重复声明同一个变量名的,let的作
//用域是块级的
//let let1 = 10;
//let let1 = 10;
} //const声明是一个常量,赋值后不可以再改变 //解构是有一个有趣的东西,具体可以通过代码来观察
let input = [1, 2];
let [first, second] = input;
//等价与 let first =input[0]; let second = input[0]
//也可以当做方法的参数
function fun4([first, second]: number[]) { };
fun4(input); // ...{args} 代表剩余的变量
let [n1, n2, ...args] = [1, 2, 3, 4, 5];
//, 忽略中间的变量
let [s1, , , s4] = [1, 2, 3, 4]; //解构对象
let o = {
a: "foo",
b: 12
}
let {a, b} = o; //属性重命名
let {a: newName1, b: newName2} = o;
console.log(newName1); //展开 可用于数组与对象
let let3 = [1, 2];
let let4 = [3, 5];
let bothPlus = [0, ...let3, ...let4, 6];
TypeScript 素描-变量声明的更多相关文章
- TypeScript的变量声明
1.全新的变量声明方式 let和const是JavaScript ES6中新添加的变量声明方式.let在很多方面与var是相似的,但是它可以避免一些在JavaScript里常见一些问题. 而const ...
- Typescript变量声明
let 和 const 是 javascript 里面最新的变量声明方式,let 与 var 很相似,而 const 是 let 的增强,能阻止对一个变量的再次赋值. var 声明 弱类型:var 声 ...
- Typescript学习笔记(三)变量声明及作用域
ts的变量声明有var,let和const,这尼玛完全跟es6一样嘛.就稍微介绍一下. 大多数js开发者对于var很熟悉了,原生js里没有块级作用域,只有函数作用域和全局作用域,还存在var的变量提升 ...
- TypeScript 变量声明(二)
ES6 中,变量声明一共有6种,分别是var.function .let.const.class和import. let 基本语法:let 变量名 :类型.其中类型不是必须的. 1.用于声明变量,其用 ...
- TypeScript 素描-基础类型
博文读自 TypeScript 官方文档而来,不具有学习性,仅是本人学习时记录以供日后翻阅 ,有学习TypeScript的朋友还请去看更为详细的官方文档 TypeScript官网文档中的基础类型, T ...
- 变量声明---let,const,解构
let在很多方面与var是相似的,但是可以帮助大家避免在JavaScript里常见一些问题. const是对let的一个增强,它能阻止对一个变量再次赋值. 块作用域 当用let声明一个变量,它使用的是 ...
- 感受typescript定义变量和数据类型的神奇魔力
变量和数据类型 你的Javascript能力到达瓶颈?那是因为你还不会typescript.掌握TS,让你的开发更加准确简洁. 今天的学习中,我们接着从TS的数据类型和变量入手,感受它们的奇妙魔力. ...
- Js 变量声明提升和函数声明提升
Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){ ...
- js 碎片整理(变量声明,函数作用域)
1.变量声明: 在非严格模式下,函数可以对未声明的变量赋值,而这样赋值的结果就是该变量就会变成全局变量. (function(){ var a = 1; })(); console.log(a) ; ...
随机推荐
- 伙伴们休息啦canvas绘图夜空小屋
HTML5 canvas绘图夜空小屋 伙伴们园友们,夜深了,休息啦,好人好梦... 查看效果:http://hovertree.com/texiao/html5/28/ 效果图如下: 代码如下: &l ...
- github源码学习之UIImage+YYWebImage
UIImage+YYWebImage是YYWebImage(https://github.com/ibireme/YYWebImage)中的一个分类,这个分类封装了一些image常用的变化方法,非常值 ...
- 安卓DJ113舞曲网应用客户端 项目源码(服务器+客户端)
Android DJ113舞曲网app客户端 播放器源码 项目源码(服务器+客户端),这个项目整体有点类似天天动听的效果,非常漂亮的,支持第三方登录等功能,非常完整的一个音乐项目. 源码下载:htt ...
- JavaScript标准参考教材(alpha)--笔记
一.导论 二.基本语法 1.严格来说var a=1与a=1效果不太一样,delete命令无法删除前者. JavaScirpt是一种动态类型语言,也就是说,变量的类型没有限制,可以赋予各种类型的值. J ...
- 记录一次Quartz2D学习(二)
(一)内主要就是讲了线条的绘制以及绘制状态的保存与恢复 本次就讲一些图形的画法 2 图形的绘制 2.1 三角形的绘制 :(就是绘制三条线) - (void)drawRect:(CGRect)rect ...
- MVC下压缩输入的HTML内容
在MVC下如何压缩输出的HTML代码,替换HTML代码中的空白,换行符等字符? 1.首先要了解MVC是如何输出HTML代码到客户端的,先了解下Controller这个类,里面有很多方法,我们需要的主要 ...
- Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...
- ios10.2真机调试包,ios升级10.2后需要添加
下载地址: http://download.csdn.net/detail/koktear/9710820 添加地址: finder-应用程序-找到Xcode-右击显示包内容-Contents-Dev ...
- QTimer的用法
1.singleShot的用法 代码: QTextEdit *testEdit = new QTextEdit("hello world"); testEdit->setMa ...
- ERROR 2003 (HY000): Can't connect to MySQL server on 'ip address' (111)的处理办法
远程连接mysql数据库时可以使用以下指令 mysql -h 192.168.1.104 -u root -p 如果是初次安装mysql,需要将所有/etc/mysql/内的所有配置文件的bind-a ...