依据阮一峰教程整理平时可能会用到的ES6新特性
let 产生块级作用域
不存在变量提升
使用es6声明的全局变量,不属于顶层对象属性(window,global),window.xxx返回时undefined。
存在暂时性死区(如下)
var tmp = 123;
if(true){
tmp = 'abc' //ReferenceError; (使用了let后内部不受外部影响)
let tmp;
}
const 声明一个只读常量
实质上指向的是内存地址不可变,只是一个指针,所以对象,数组之列的还是可以改变它的值
const a = [];
a.push('Hello'); // 可执行
a.length = 0; // 可执行
a = ['Dave']; // 报错