Backbencher.dev

Enum Type in TypeScript

Last updated on 11 Jan, 2023

Enums help to tag labels to numbers.

Creating Enum Type

Here is the syntax to create an enum type:

enum Role {
  ADMIN,
  READ_ONLY,
  AUTHOR,
}

We then use it like below:

const User1 = {
  name: "Joe",
  role: Role.ADMIN,
};

Compiled Output

When we compile the above code to JavaScript, here is the output:

var Role;
(function (Role) {
  Role[(Role["ADMIN"] = 0)] = "ADMIN";
  Role[(Role["READ_ONLY"] = 1)] = "READ_ONLY";
  Role[(Role["AUTHOR"] = 2)] = "AUTHOR";
})(Role || (Role = {}));
var User1 = {
  name: "Joe",
  role: Role.ADMIN,
};

Basically, the enum is converted to an IIFE.

--- ○ ---
Joby Joseph
Web Architect