ES6注意点

1. ES6块级作用域内可以声明函数。
2. let与const不能重复声明,在var下面重复声明也是不可以的。
3. const只是指向地址不变,如果指向变量的话,变量是可以改变的
【ES6注意点】比如给const赋值对象:

const foo = {}; foo.prop = 123; foo.prop// 123 foo = {}; // TypeError: "foo" is read-only

比如给const赋值数组:
const a = []; a.push('Hello'); // 可执行 a.length = 0; // 可执行 a = ['Dave']; // 报错

4. var命令和function命令声明的全局变量,依旧是顶层对象的属性;另一方面规定,let命令、const
命令、class命令声明的全局变量,不属于顶层对象的属性。

    推荐阅读