【发布时间】:2021-06-12 15:26:23
【问题描述】:
enum SomeEnum {
a = 10
b = 20
}
const n: number = 20;
const enumValue: SomeEnum = ???;
有没有一种方法可以将 n 转换为 enumValue 而无需为每个枚举类型编写一个 switch-case。
【问题讨论】:
标签: typescript
enum SomeEnum {
a = 10
b = 20
}
const n: number = 20;
const enumValue: SomeEnum = ???;
有没有一种方法可以将 n 转换为 enumValue 而无需为每个枚举类型编写一个 switch-case。
【问题讨论】:
标签: typescript
是的,有办法:
enum SomeEnum {
a = 10,
b = 20
}
const n: number = 20;
const enumValue: SomeEnum = 20; // ok
const enumValue: SomeEnum = 21; // ok, please keep in mind it is unsafe
我鼓励你不要这样做
【讨论】:
const enumValue: SomeEnum | undefined = SomeEnum[SomeEnum[n] as keyof typeof SomeEnum]