Enum mendefinisikan sekumpulan konstanta bernama:
Numeric enum:
enum Direction { Up, Down, Left, Right }
// Up = 0, Down = 1, Left = 2, Right = 3
let dir: Direction = Direction.Up;
String enum:
enum Color {
Red = "RED",
Green = "GREEN",
Blue = "BLUE"
}
Const enum — dihapus saat kompilasi (inline):
const enum Status {
Active = "ACTIVE",
Inactive = "INACTIVE"
}
// Lebih efisien karena tidak menghasilkan object runtime
Tips: Di TypeScript modern, banyak developer lebih memilih union literal types daripada enum:
type Direction = "up" | "down" | "left" | "right";
// Lebih sederhana dan tree-shakeable