ECM6学习总结 ECMAScript 6 入门
let
声明变量用,类似var.只在代码块内有效.
1234567{let a = 10;var b = 1;}a // ReferenceError: a is not defined.b // 1不存在变量提升,声明变量一定要再声明后使用否则会报错
暂时性死区(temporal dead zone,简称 TDZ)
1234567891011if (true) {// TDZ开始tmp = 'abc'; // ReferenceErrorconsole.log(tmp); // ReferenceErrorlet tmp; // TDZ结束console.log(tmp); // undefinedtmp = 123;console.log(tmp); // 123}不允许在相同作用域内,重复声明同一个变量