我只是打算在 codepen.io 上使用 TypeScript playground 检查一些类型设置 并令人惊讶地面临以下
enum Order {
Asc = 'asc',
Desc = 'desc'
}
console.log(Order[Order.Asc]); // undefined in codepen.io playground
当然,当使用 webpack 等编译时,它会产生 Asc
。
答案 0 :(得分:1)
引用自https://www.typescriptlang.org/docs/handbook/enums.html#reverse-mappings
<块引用>...一个枚举被编译成一个存储前向(名称 ->
value) 和反向 (value -> name) 映射。
[...]
请记住,字符串枚举成员不会获得反向映射
完全生成。
这是反向映射处理数字的方式:
enum Order {
Asc,
Desc
}
Order.Asc // 0
Order[Order.Asc] // "Asc"