为什么在codepen.io typescript操场上未定义Enum[Enum.member]



我刚刚计划在codepen.io上使用TypeScript游乐场检查一些类型设置并令人惊讶地面对以下

enum Order {
Asc = 'asc',
Desc = 'desc'
}
console.log(Order[Order.Asc]); // undefined in codepen.io playground

当然,当使用webpack等编译时,它会导致Asc

引用https://www.typescriptlang.org/docs/handbook/enums.html#reverse-映射

。。。枚举被编译成存储两个正向(name->值(和反向(值>名称(映射。[…]
请记住,字符串枚举成员根本不会生成反向映射

这就是反向映射与数字的关系:

enum Order {
Asc,
Desc 
}
Order.Asc // 0
Order[Order.Asc] // "Asc"

最新更新