【发布时间】:2020-04-10 02:14:44
【问题描述】:
这不是 Check if value exists in enum in TypeScript 的副本,它根据 Enum 值检查类型 Enum。
没有其他关于 TypeScript 如何根据枚举检查字符串或字符串文字的帖子。原因是我通过 API 接收数据,所以它的原始类型是字符串。
代码:
enum Method {
Get = 'get',
Put = 'put',
Post = 'post',
Patch = 'patch',
Delete = 'delete'
}
console.log(Method);
console.log('get' in Method);
console.log(Object.values(Method));
console.log(Object.values(Method).includes('get'));
输出:
src/libs/async-express/test.ts:12:44 - error TS2345: Argument of type '"get"' is not assignable to parameter of type 'Method'.
12 console.log(Object.values(Method).includes('get'));
在 Java 中会这样:
public static boolean contains(String test) {
for (Choice c : Choice.values()) {
if (c.name().equals(test)) {
return true;
}
}
return false;
}
在 TypeScript 中执行此操作的任何标准方法。
【问题讨论】:
标签: typescript