let、const、var 的区别?
题干
- var
- let、const
题解
在 JS 中,let、const、var 是用来声明变量的关键字,它们之间有以下区别:
作用域:
var声明的变量属于函数作用域或全局作用域,let、const声明的变量属于块级作用域(例如if语句、循环语句、函数块等);变量提升:
var存在变量提升现象,即在声明之前就可以使用,而let和const没有此类现象;声明前使用:
var声明的变量在声明之前可以被使用,其值为 undefined,而let和const声明的变量在声明之前无法使用,且const声明时必须初始化。重复声明:
var变量可重复声明、可修改,而在同一个块级作用域,let变量可修改、不可重新声明,const变量不可修改、不可重新声明;绑定全局对象:
var在全局环境声明变量,会在全局对象里新建一个属性,而let、const在全局环境声明变量,不会在全局对象里新建一个属性。
总的来说,let、const 相比 var 更加安全,因为它们避免了变量提升和重复声明等问题,并且 const 还可以避免意外修改变量的值。因此,在开发中我们应该尽可能地使用 let 和 const,而避免使用 var。

