【发布时间】:2016-09-20 19:46:52
【问题描述】:
在 ES5 中,编写这样的代码被认为是一种好的做法:
(function () {
//some magic
})();
但在 ES6 中使用 let 关键字创建的变量不会附加到 window 对象。
那么,现在有没有必要在 IIFE 中编写我们的代码,或者它还有一些我没有听说过的用途?
【问题讨论】:
-
"使用
let关键字创建的变量未附加到window对象" - 但它们仍然是全局的。因此,如果您正在编写脚本,则需要将它们放在一个块或 IIFE 中。 -
@Bergi 这个问题不是您链接的问题的副本吗?
-
@Gothdo:也许吧,但我不确定对 const+let 的关注是否确实让它们有所不同,所以我不想欺骗锤子。随意投下你的一票;如果 OP 同意,我会很乐意关闭。
标签: javascript ecmascript-6 encapsulation iife