我正在尝试找到一种将枚举名称转换为字符串的方法。如果我有下面的 Response 枚举,如何将“Response”转换或提取为字符串?我的一个函数将任何枚举作为输入,我需要名称,而不是执行其他代码的枚举类型。
enum Response
{
No = 0,
Yes = 1
}
Run Code Online (Sandbox Code Playgroud)
不,您不能将枚举名称转换为字符串,因为类型信息仅在编译期间存储。您必须传递额外的参数来指定您正在使用的枚举。
但是您可以使用方括号将枚举值转换为字符串并返回:
enum YesNo {
No = 0,
Yes = 1,
}
console.log(YesNo[YesNo.Yes]);
console.log(YesNo[YesNo.No]);
console.log(YesNo["Yes"]);
console.log(YesNo["No"]);
console.log(YesNo[1]);
console.log(YesNo[0]);
Run Code Online (Sandbox Code Playgroud)
这段代码编译成:
enum YesNo {
No = 0,
Yes = 1,
}
console.log(YesNo[YesNo.Yes]);
console.log(YesNo[YesNo.No]);
console.log(YesNo["Yes"]);
console.log(YesNo["No"]);
console.log(YesNo[1]);
console.log(YesNo[0]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5392 次 |
| 最近记录: |