En enum definerer et sett med navngitte konstanter. TypeScript har numeriske og string enums.
ts
{ , , , }
.;
[];
{
= ,
= ,
}
.;
En enum definerer et sett med navngitte konstanter. TypeScript har numeriske og string enums.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
I motsetning til de fleste TypeScript-typer (som forsvinner ved kompilering), sender en vanlig enum ut et JavaScript-objekt i bunten din. Det er grunnen til at mange team foretrekker en union av string-literaler pluss as const, som er rent på typnivå:
// often preferred — zero runtime cost, easy to read in logs
const Status = { Active: "ACTIVE", Inactive: "INACTIVE" } as const;
type Status = typeof Status[keyof typeof Status]; // "ACTIVE" | "INACTIVE"
// or simply:
type Direction = "up" | "down" | "left" | "right";
const enum E { A, B } // inlined at compile time — no runtime object, but has tooling caveats
Enums gir meningfulle navn til faste sett (tilstander, roller, retninger) og grupperer dem under ett navnerom.
Men fordi de sender ut kjøretidskode og har særheter (numeriske enums er løst kontrollert), favoriserer moderne TypeScript ofte string-literal unions for enkle tilfeller — de er lettere og serialiseres naturlig.
Bruk enums når du vil ha navnerommet eller omvendt kartlegging.