Javascript 吊装有什么好处吗?

Javascript 吊装有什么好处吗?,javascript,ecmascript-6,hoisting,Javascript,Ecmascript 6,Hoisting,我想看看吊装的好处是什么,如果有一些。。。我寻找答案,但他们只解释了它是什么,我想知道的是,有一个实际的好处,我可以用来编写更好的代码 似乎通过使用const和let,javascript实际上是在强制执行以避免提升,更不用说,一些linter实际上强制在调用函数和变量的顶部声明函数和变量。提升的主要好处是函数不必按照特定的顺序声明才能正常工作。解释器传递一个函数的代码,并查找该函数中的所有函数声明,并使它们可用于范围内的任何代码(提升它们),无论引用函数的代码位于函数声明所在的位置之前还是之后

我想看看吊装的好处是什么,如果有一些。。。我寻找答案,但他们只解释了它是什么,我想知道的是,有一个实际的好处,我可以用来编写更好的代码


似乎通过使用const和let,javascript实际上是在强制执行以避免提升,更不用说,一些linter实际上强制在调用函数和变量的顶部声明函数和变量。

提升的主要好处是函数不必按照特定的顺序声明才能正常工作。解释器传递一个函数的代码,并查找该函数中的所有函数声明,并使它们可用于范围内的任何代码(提升它们),无论引用函数的代码位于函数声明所在的位置之前还是之后。它还允许A调用B,B调用A,而不会遇到声明排序问题


现在很少再使用变量提升,因为我们有
const
let
,它们是块范围的,在声明之前不能使用。因此提升现在主要用于函数声明。

在JavaScript中,提升是在代码执行之前将所有声明移动到作用域顶部的默认行为。基本上,它为我们提供了一个优势,即无论函数和变量声明在哪里,它们都会移动到其作用域的顶部,而不管其作用域是全局的还是局部的。 它允许我们在编写代码之前调用函数


注意:JavaScript只提升声明,不提升初始化。

谢谢,这很有意义。