如何检查 TypeScript 中 enum 是否存在某个值?
大家好!我刚开始学习 TypeScript,在处理枚举(enum)时遇到了一个问题。我有这样的代码:
```typescript
enum Color {
Red = 'RED',
Green = 'GREEN',
Blue = 'BLUE'
}
// 我从外部源(例如 API)获取一个值
const userInput: string = 'RED'; // 或者可能是 'YELLOW'
// 我需要检查 userInput 是否是 Color 的有效值
if (userInput === Color.Red) {
console.log('这是红色');
}
```
但问题是,如果我得到一个 enum 中不存在的值(例如 'YELLOW'),我需要正确处理这种情况。我尝试过使用 `Object.values(Color).includes(userInput)`,但 TypeScript 报错说 `userInput` 是 `string` 类型,而不是 `Color` 类型。
请问如何正确检查一个值是否存在于 enum 中?是否需要使用一些特殊的工具函数,还是有简单的解决方案?提前感谢!
P.S. 我使用的是字符串枚举,但了解通用方法也会很有帮助。