小编Flo*_*ond的帖子

为什么枚举会转化为函数?

考虑:

enum Colors {
    Red,
    Green,
    Blue
}
Run Code Online (Sandbox Code Playgroud)

它转化为:

var Colors;
(function (Colors) {
    Colors[Colors["Red"] = 0] = "Red";
    Colors[Colors["Green"] = 1] = "Green";
    Colors[Colors["Blue"] = 2] = "Blue";
})(Colors || (Colors = {}));
Run Code Online (Sandbox Code Playgroud)

有关此结果的大多数问题都在TypeScript中的Enums中得到解答:JavaScript代码在做什么?.

我引用答案:

这是一个'立即执行的功能'

更进一步的话题:

认为他们可能会去:

var Colors;
Colors || (Colors = {});
Colors[Colors["Cyan"] = 3] = "Cyan";
// ...
Run Code Online (Sandbox Code Playgroud)

并跳过关闭,但也许我仍然缺少一些东西.

所以问题仍然存在:为什么将它包装在一个立即执行的函数中?

javascript typescript

17
推荐指数
1
解决办法
631
查看次数

标签 统计

javascript ×1

typescript ×1