Skip to content
快看这页儿写了啥...

let、const、var 的区别?

题干

  • var
  • let、const

题解

在 JS 中,letconstvar 是用来声明变量的关键字,它们之间有以下区别:

  • 作用域:var 声明的变量属于函数作用域或全局作用域,letconst 声明的变量属于块级作用域(例如if语句、循环语句、函数块等);

  • 变量提升:var 存在变量提升现象,即在声明之前就可以使用,而 letconst 没有此类现象;

  • 声明前使用:var 声明的变量在声明之前可以被使用,其值为 undefined,而 letconst 声明的变量在声明之前无法使用,且 const 声明时必须初始化。

  • 重复声明:var 变量可重复声明、可修改,而在同一个块级作用域,let 变量可修改、不可重新声明,const 变量不可修改、不可重新声明;

  • 绑定全局对象:var 在全局环境声明变量,会在全局对象里新建一个属性,而 letconst 在全局环境声明变量,不会在全局对象里新建一个属性。

总的来说,letconst 相比 var 更加安全,因为它们避免了变量提升和重复声明等问题,并且 const 还可以避免意外修改变量的值。因此,在开发中我们应该尽可能地使用 letconst,而避免使用 var

相关

变量提升

暂时性死区(TDZ)

贡献者

isboyjc's avatar isboyjc

浏览量(PV)  次  ·  独立访客(UV)  人次
不正经的前端 | 八股 · 欢迎 star ⭐