Vig*_*dén 2 javascript typescript
我在尝试迭代枚举时注意到了这一点.
说你有:
enum Gender {
Male = 1,
Female = 2
}
Run Code Online (Sandbox Code Playgroud)
你也是:
for (let gender in Gender) {
console.log(gender)
}
Run Code Online (Sandbox Code Playgroud)
这将运行4(?)次.首先打印1和2的字符串(!)表示,然后打印字符串Male和Female.
我只能假设这是有意的.我的问题是为什么会这样?这个(在我看来)奇怪的实现背后的原因是什么?
JS没有枚举.TS将您的枚举编译为:
var Gender;
(function (Gender) {
Gender[Gender["Male"] = 1] = "Male";
Gender[Gender["Female"] = 2] = "Female";
})(Gender || (Gender = {}));
Run Code Online (Sandbox Code Playgroud)
你可以看到有4个键(1,2,男,女).
您可以使用此站点检查TS到JS编译输出.
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |