详解ES6中的let命令

原创2017-01-11 10:16:46209
摘要:let是ES6里面新的复制命令,let赋值命令只可以在{}代码块中被调用。下面通过实例给大家讲解es6中的let命令,具体内容如下所示:1.let命令的用法和var命令类似,但let命令声明的变量只在let所在的代码块内有效{ let a=10; var b=1; } console.log(a);//Uncaught ReferenceError: a&n

let是ES6里面新的复制命令,let赋值命令只可以在{}代码块中被调用。下面通过实例给大家讲解es6中的let命令,具体内容如下所示:

1.let命令的用法和var命令类似,但let命令声明的变量只在let所在的代码块内有效

{
let a=10;
var b=1;
}
console.log(a);//Uncaught ReferenceError: a is not defined
console.log(b);

2.let命令不存“声明提前”现象,因此变量一定要先声明,后使用

console.log(foo);
console.log(bar);
var foo=2;//undefined
let bar=3;//Uncaught ReferenceError: bar is not defined

3.只要当前块级作用域内存在let命令,它所声明的变量就绑定了这个块级作用域,不再受外部的影响

var tmp=123;
if(true){
tmp='abc';//Uncaught ReferenceError: tmp is not defined,因为块级作用域内存在let命令声明的相同变量,违反了let命令先声明后使用原则
let tmp;
}

4.let命令不允许在同一个作用域内,重复声明同一个变量

function foo(){
let a=10;
let a=1;//Uncaught SyntaxError: Identifier 'a' has already been declared
}

 更多关于ES6中的let命令请关注PHP中文网(m.sbmmt.com)其他文章!    


发布手记

热门词条