什么是JavaScript中的提升

87 阅读1分钟

在JavaScript代码执行之前,它首先被解析和编译。在编译阶段,变量和方法申明将被放到内存中,这就是所谓的提升。 要注意的是,只有申明会被提升,而初始化不会。这意味着,如果你声明和初始化一个变量并且使用它,它的值并没有被直接初始化。这是一个简单的解释,我们来看一下下面的场景:

function

会变量提升

var

var 提升,但是值不会初始化

const 和 let

会提升,但他们不会初始化为 undefined,而是报错。

最佳实践

  • 在使用前总是定义变量、方法以及对象和类。ESlint可以帮助你。
  • 如果你的环境允许,优先使用 const和 let 而不是var。
  • 如果条件允许只使用箭头函数或者function声明,保持一致性。

原文引用 www.30secondsofcode.org/js/s/variab…