1、let
和 const
定义的变量不会出现变量提升,而 var
定义的变量会提升
2、let
和 const
会形成块级作用域,它们所声明的变量只在所在的代码块内有效(块作用域由 { } 包括,if语句和for语句里面的 { } 也属于块作用域)
3、let
和 const
不允许重复声明(会抛出错误)
4、let
和 const
定义的变量在定义语句之前,如果使用,会抛出错误(形成了暂时性死区),而 var
不会
5、const
声明一个只读的常量。一旦声明,常量的值就不能改变,如果声明的是一个对象,那么不能改变的是对象的引用地址
网友评论