How can a enum member be aliased in TypeScript?
enums, javascript, typescript
Solution
You can use a seperate object or array for this (Playground):
enum RoleTypes {
None,
Admin,
SuperAdmin
}
let RoleTypesDisplay: { [index: number]: string } = {};
RoleTypesDisplay[RoleTypes.None] = "None";
RoleTypesDisplay[RoleTypes.Admin] = "Administrator";
RoleTypesDisplay[RoleTypes.SuperAdmin] = "Super Administrator";
var roleName = RoleTypesDisplay[RoleTypes.SuperAdmin];
alert(roleName);
// because RoleTypes is a number based enum that starts with 0 this is equals to
RoleTypesDisplay = ["None", "Administrator", "Super Administrator"];
var roleName = RoleTypesDisplay[RoleTypes.SuperAdmin];
alert(roleName);
Problem
I have a below `enum` in TypeScript: ``` enum RoleTypes { None, Admin, SuperAdmin } ``` When I run the following code: ``` var roleName = RoleTypes[RoleTypes.SuperAdmin]; ``` the value of the variable `roleName` is `SuperAdmin`. Is it possible to change it to a custom name `'Super Administrator'`, and how do I do this?