ECMAscript6入门(1)

 

1:let 命令
ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

用let声明的变量不存在变量提升;

ES6明确规定,如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。 变量声明之前被称为暂时性死区(报错),如果没声明则没事(undefined);为的是让大家养成良好的编程习惯,变量先声明后使用,否则会报错;

let不允许在相同作用域内,重复声明同一个变量。
let实际上为 JavaScript 新增了块级作用域。 互不影响
在外层作用域下无法方位内层作用域的变量

ES5 只有两种声明变量的方法:
var命令和function命令。
ES6除了添加let和const命令,另外两种声明变量的方法:import命令和class命令。所以, ES6 一共有6种声明变量的方法。

用let声明的辨明不是顶层对象的属性;
const 声明全局的常量 一旦声明。常量的值不能被改变;

var tmp = 123;

if (true) {
  tmp = 'abc'; // ReferenceError
  let tmp;
}

暂时性死区

posted @ 2017-04-26 09:55  lwx-web  阅读(254)  评论(1)    收藏  举报