如何通过枚举键名获取对应存储的枚举值
方法1:固定已知键名直接访问
如果你的键名是写死的、提前知道的,直接用点语法调用枚举即可,这是最常用也最推荐的写法:
const redColor = ColorEnum.RED // 输出结果为 #FF0B0B
这种写法天然带TS类型校验和提示,写错键名会直接报错。
方法2:动态键名访问
如果你的键名是存在变量里的动态值,用方括号语法访问即可,需要补充类型断言避免TS类型报错:
// 示例:动态传入键名 const targetKey = 'RED' const color = ColorEnum[targetKey as keyof typeof ColorEnum] // 输出结果为 #FF0B0B
你也可以封装成通用取值函数,还可以增加兜底逻辑避免传入不存在的键返回undefined:
function getColor(key: string) { return ColorEnum[key as keyof typeof ColorEnum] ?? '#ffffff' } // 调用测试 getColor('GREEN') // 返回 #4CAF50 getColor('NOT_EXIST') // 返回兜底值 #ffffff
内容的提问来源于stack exchange,提问作者Amrmsmb
相关产品推荐
相关产品推荐

