TypeScript - ES2015与Typescript之间变量声明, 解构赋值的区别和新增

本文只介绍了在ES2015与TypeScript之间变量声明, 解构赋值的区别和新增

如果你不熟悉怎么使用let和const还有解构赋值,请参考阮大神的ES6教程

如果你不清楚为什么不使用var.请参考官方文档http://www.typescriptlang.org/docs/handbook/variable-declarations.html#variable-declarations 的Variable Declarations 章节

let

1.需要先声明变量后使用。在ES2015运行时会报错,但是目前TypeScript不会

function foo() {
   
    // okay to capture 'a'
    return a;
}

// illegal call 'foo' before 'a' is declared
// ES2015 runtimes should throw an error here
foo();

let a;

2.同一个作用域多次声明同一个变量; ES2015:会使用最后那个变量; TypeScript:不允许

let x = 10;
let x = 20; // error: can't re-declare 'x' in the same scope

function f(x) {
   
    let x = 100; // error: interferes with parameter declaration
}

function g() {
   
    let x = 100;
    var x = 100; // error: can't have both declarations of 'x'
}

不同域是允许的(ES2015 & TypeScript)

function f(condition, x) {
   
    if (condition) {
   
        let x = 100;
        return x; // 属于if 块级作用域
    }
	 return x; //属于function f () 作用域
}

f(false, 0); // returns '0'
f(true, 0);  // returns '100'

嵌套域是允许的(ES2015 & TypeScript)

function sumMatrix(matrix: number[][]) {
   
    let sum = 0;
    for (let i =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值