javascript

var、let、const 的差异?

相同点

varletconst 三者都可以声明变量。变量可以看作盒子,变量名就是盒子名称,值是放在盒子里的东西。

差异

var、let、const 三者的差异:

image-20240510161235160
注:

暂时性死区:Temporal dead zone(TDZ)

全局属性:是否会被添加到 window 或 globalThis 等对象中

暂时性死区
从一个代码块的开始直到代码执行到声明变量的行之前,let 或 const 声明的变量都处于“暂时性死区中。简单理解:let 或 const 只能先声明再访问。如下面的代码:

同理,使用 const 声明变量,如果在声明前使用,表现与 let 一致。var 声明的全局变量会进行变量提升:

全局属性
var 声明的变量会被添加到全局对象中,可以使用 window 和 globalThis 访问,let 和 const 声明的全局变量则不会添加到全局对象中。

谈谈作用域?


javascript
http://example.com/2024/05/10/javascript/
作者
John Doe
发布于
2024年5月10日
许可协议