enum SomeEnum {
a = 10
b = 20
}
const n: number = 20;
const enumValue: SomeEnum = ???;
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以转换n为enumValue,而不必为每个枚举类型编写 switch-case。
是的,有一个办法:
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
Run Code Online (Sandbox Code Playgroud)
我鼓励你不要这样做。
就像 @Beraliv 在他们的评论中提到的那样,由于 TS 5.0 All enums Are Union enums,如果您想分配无效的数字,则会出现错误:
const enumValue: SomeEnum = 21;
Run Code Online (Sandbox Code Playgroud)
如果你无法切换到最新版本的 TypeScript,你可以查看我关于更安全枚举的文章和我的答案
| 归档时间: |
|
| 查看次数: |
8098 次 |
| 最近记录: |