gpt4 book ai didi

javascript - 我们需要将 ES6 代码包装在 IIFE 中吗?

转载 作者:行者123 更新时间:2023-12-02 23:06:25 27 4
gpt4 key购买 nike

在 ES5 中,编写这样的代码被认为是一种良好的做法:

(function () {
//some magic
})();

但是在 ES6 中,使用 let 关键字创建的变量不会附加到 window 对象。

那么,现在是否需要在 IIFE 中编写我们的代码,或者它仍然有一些我没有听说过的用途?

最佳答案

如果您使用模块,则无需使用 IIFE(这就是“包装器”的调用方式),因为所有变量的作用域都仅限于模块。

但是,仍然存在某些情况,您希望将代码的一部分与另一部分分开,然后可以使用 IIFE。

当然,如果您使用 letconst,则可以使用 block 语句而不是 IIFE:

{
let something = 1;
const somethingElse = 2;
}
console.log(something); // ReferenceError: something is not defined

请参阅 Programmers.SE 上的相关问题:How far should encapsulation in JavaScript go? .

关于javascript - 我们需要将 ES6 代码包装在 IIFE 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37399295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com