let:功能类似var ,但是比var更加完善,
{} 作用域块
TDZ 暂时性死区 后面let的值,前面访问不到,会报错。不像var 预编译声明提升,let的变量只在他自己的块能访问。
const 常量声明 和let相似 不同点:声明一次不可再次赋值,为只读模式。
对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以讲一个对象声明为常量,必须非常小心。
ES5只有两种声明变量的方法:var和function(函数设置形参的时候相当为var了这个变量)
ES6有6种:var function let const class import
详细链接:
代码理解神器 babel