ES6---let 和 const
1.let 定义的变量为块级作用域,相同作用域内不能重复定义。
2.作用域分为ES5(全局作用域,函数作用域)ES6(块级作用域)
3.let 在for( let i=0;i<3;i++)里的作用域和 for( let i=0;i<3;i++){ let i = ‘abc’ } 作用域不同。
4.let 定义的变量会发生变量提升,在未定义引用时会出现 ReferenceError(引用错误),var 定义的会出现 undefind
5.暂时性死区。
const
声明的变量不得改变值,这意味着,const
一旦声明变量,就必须立即初始化,不能留到以后赋值
const
命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。
const
声明的常量,也与let
一样不可重复声明。