在TypeScript中将枚举名称作为字符串获取

在TypeScript中将枚举名称作为字符串获取,typescript,enums,Typescript,Enums,我正在试图找到一种将枚举的名称转换为字符串的方法。如果我有下面的响应枚举,如何将“响应”转换或提取为字符串?我的一个函数接受任何枚举作为输入,我需要名称,而不是枚举类型来执行其他代码 enum Response { No = 0, Yes = 1 } 不,不能将枚举名称转换为字符串,因为类型信息仅在编译期间存储。您必须传递其他参数,以指定您使用的枚举 但您可以使用大括号将枚举值转换为字符串并返回: 此代码编译为: var-YesNo; (功能(YesNo){ 是否[是

我正在试图找到一种将枚举的名称转换为字符串的方法。如果我有下面的响应枚举,如何将“响应”转换或提取为字符串?我的一个函数接受任何枚举作为输入,我需要名称,而不是枚举类型来执行其他代码

enum Response 
{
    No = 0,
    Yes = 1 
}

不,不能将枚举名称转换为字符串,因为类型信息仅在编译期间存储。您必须传递其他参数,以指定您使用的枚举


但您可以使用大括号将枚举值转换为字符串并返回:

此代码编译为:

var-YesNo;
(功能(YesNo){
是否[是否[“否”]=0]=“否”;
是否[是否[“是”]=1]=“是”;
})(YesNo | |(YesNo={});
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])
您只需为它分配一个字符串,也可以是:@adiga的副本。我对从枚举值中获取字符串值不感兴趣。在本例中,我试图将枚举本身的实际名称“Response”转换为字符串。
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]);