Javascript 如何在Typescript中设置枚举显示名称?

Javascript 如何在Typescript中设置枚举显示名称?,javascript,typescript,Javascript,Typescript,我在Typescript中有以下枚举类型 enum RoleTypes{ None, Admin, SuperAdmin } 当运行代码时 var roleName = RoleTypes[RoleTypes.SuperAdmin]; 变量roleName是SuperAdmin,是否可以将其更改为自定义名称“超级管理员”,以及如何执行此操作?从TypeScript 2.4开始,字符串值直接发送给枚举成员 enum RoleTypes{ None = "None", Adm

我在Typescript中有以下枚举类型

enum RoleTypes{
  None,
  Admin,
  SuperAdmin
}
当运行代码时

var roleName = RoleTypes[RoleTypes.SuperAdmin];
变量roleName是SuperAdmin,是否可以将其更改为自定义名称“超级管理员”,以及如何执行此操作?

从TypeScript 2.4开始,字符串值直接发送给枚举成员

enum RoleTypes{
  None = "None",
  Admin = "Administrator",
  SuperAdmin = "Super Administrator"
}

另请参见

您可以为此()使用单独的对象或数组:


是的,只需使用带引号的标识符创建别名即可

enum RoleTypes {
 None,
 Admin,
 SuperAdmin,
 'Super Administrator' = SuperAdmin 
}

没有尝试,因为它没有发布。在typescript 2.4中,RoleTypes.None、0或“None”的值是多少?我希望RoleTypes.None保持为0,RoleTypes[RoleTypes.None]的值为“None”。或者RoleTypes.SuperAdmin保留值2,RoleTypes[RoleTypes.SuperAdmin]的值为“超级管理员”。有可能吗?根据GH中的commit,您可以为enum使用混合类型,包括int和string。您在使用什么?如果您使用的是angular2或vuejs之类的工具,则可以使用管道/过滤器作为临时工具solution@L.W您可以始终使用
next
作为TypeScript版本(例如package.json)进行尝试。现在
next
已经是2.5了
enum RoleTypes {
 None,
 Admin,
 SuperAdmin,
 'Super Administrator' = SuperAdmin 
}