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) ; ...
随机推荐
- PyCharm断点调试django
我在用PyCharm开发django程序的时候,对于打印日志调试程序的方式感觉还是有点麻烦和不直观,所以研究了一下断点调试的方法如下: 1.打开你的工程,在菜单栏里找到Run-->Edit Co ...
- DXGI 1.4的新特性
其实到写这篇文章的时候,DXGI已经出1.5版了,但很多朋友实际上还在用1.2甚至1.1,所以现在谈1.4一点也不过时,而且1.4又是一次非常重大的更新,很值得仔细谈谈. 为了支持Direct3D 1 ...
- PHP语法(一):基础和变量
相关链接: PHP语法(一):基础和变量 PHP语法(二):数据类型.运算符和函数 PHP语法(三):控制结构(For循环/If/Switch/While) 最近有个H5项目的需求,需要服务端,考察过 ...
- APUE 习题3-2 实现dup2,要求不使用fcntl函数。
int mydup2(int oldfd, int newfd) { int tfd = 0; if (newfd < 0) { err_sys(&quo ...
- linux输入子系统(input subsystem)之evdev.c事件处理过程
1.代码 input_subsys.drv.c 在linux输入子系统(input subsystem)之按键输入和LED控制的基础上有小改动,input_subsys_test.c不变. input ...
- python安装后推荐的安装两款文本编辑器
Notepad++ 7.2.2和 Sublime Text --道心 Notepad++ 7.2.2 Notepad++ 是一款非常有特色的编辑器,是开源软件,可以免费使用.支持的语言: C, C++ ...
- win10打开IL DASM步骤:
- AD域撤销域用户管理员权限方案
一.简介 公司大部分主机加入域已有一段时间了,由于某软件没管理员权限不能执行,所以管理员权限一直没撤销,不能完全实现域的管理效果.但起码实现了域用户脱离不了域的控制:http://www.cnblog ...
- 【译】什么是 web 框架?
Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式.从简单的博客系统到复杂的富 AJAX 应用,web 上每个页面都是通过写代码来生成的.我发现很多人都热衷于学习 w ...
- 快速排序算法 quick sort的理解
最近做了一下算法的一些练习,感觉基础薄弱了,只是用一些已经有的东西来完成练习如quickSort(c++使用的时候是sort(起始位置,终止位置,比较函数),这个需要加头文件),但是不知道怎么推出来, ...