const、let、var 三者的区别,我们可以从以下 5 个点来展开对比
- 变量提升和暂时性死区: var 存在变量提升,let 和 const 不存在变量提升,所以 let 和 const 会存在暂时性死区
- var 声明的变量存在变量提升,即变量可以在声明之前被调用。
- let 和 const 不存在变量提升,即它们所声明的变量一定要在声明后使用,否则会报错
- 块级作用域: var 不存在块级作用域,let 和 const 存在块级作用域
- 重复声明: var 允许重复声明变量,let 和 const 在同一作用域下不允许重复声明变量
- 修改变量: var 和 let 声明的变量可以修改,const 是不可以的。
- var 和 let 声明的变量,可以修改
- const 声明的是一个只读的常量。一旦声明,常量的值就不能改变
- 使用:
- 能用 const 的情况尽量使用 const,比如声明的变量是用来保存 对象、数组等引用类型时,用 const
- 其他情况下大多数使用 let,比如 for 循环,避免使用 var
版权声明:本文为m0_70352776原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。