我正在编写一个获取枚举字符串值的函数。
const getEnumValueToString = <T>(enumValue: T, _enum: typeof T): string => _enum[enumValue]
但是我收到错误:Cannot find name T
我看到https://github.com/Microsoft/TypeScript/issues/204但是枚举没有构造函数,所以它不起作用。我知道我可以内联它或使用any
但我想知道如何正确输入这个函数。
答案 0 :(得分:1)
功能:
<T>(enumValue: T, _enum: typeof T): string => _enum[enumValue]
相当无用。这是因为它更容易做SomeEnum[SomeEnum.Member]
而不是调用此函数。 TypeScript已经理解枚举上的数字访问会产生一个字符串,例如:
enum Color {
Red
}
let foo = Color[Color.Red]; // foo is inferred to be a string