JavaScript 提升 - 什么被提升,什么保持不变

JavaScript 提升 - 什么被提升,什么保持不变

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

在JavaScript中,变量声明会提升到作用域顶部,但初始化保持原位。使用var时,未初始化的变量返回undefined;而let和const在初始化前处于“时间死区”,访问会抛出错误。类的提升也类似,必须在声明后才能访问。

🎯

关键要点

  • 在JavaScript中,变量声明会提升到作用域顶部,但初始化保持原位。

  • 使用var时,未初始化的变量返回undefined。

  • let和const在初始化前处于“时间死区”,访问会抛出错误。

  • 类的提升也类似,必须在声明后才能访问。

  • JavaScript在运行代码前会进行“预扫描”。

  • let和const的声明在初始化前会抛出ReferenceError。

  • 时间死区是let和const声明在初始化前的状态。

  • 函数声明会提升,但对象的初始化不会。

  • 类的提升与变量不同,类在定义前处于“时间死区”。

➡️

继续阅读