如何检查TypeScript枚举中是否存在某个值?
你好!我是TypeScript新手,在处理枚举(enum)时遇到了一个问题。我有这样一个枚举:
```typescript
enum UserRole {
Admin = 'admin',
User = 'user',
Guest = 'guest'
}
```
我需要检查从API获取的字符串(例如'moderator')是否是此枚举的有效值。我尝试使用`Object.values(UserRole).includes(value)`,但TypeScript报错说includes不能用于枚举。我还尝试了`value in UserRole`,但这检查的是键而不是值。在JavaScript中,我可以直接使用`Object.values(...)`,但在TypeScript中由于类型问题会更复杂。请告诉我如何正确且类型安全地检查字符串是否是枚举值之一?最好附上代码示例。
<<>>
检查TypeScript枚举中是否存在某个值
你遇到的问题确实很典型。在TypeScript中,枚举不仅仅是一组常量,而是一种特殊结构,它创建