An enum jiddefinixxi sett ta' kostanti msemmija. TypeScript għandu numeric u string enums.
ts
{ , , , }
.;
[];
{
= ,
= ,
}
.;
An enum jiddefinixxi sett ta' kostanti msemmija. TypeScript għandu numeric u string enums.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
Bħal kullo tip ieħor ta' TypeScript (li jisparixxi fil-ħin tal-kompilazzjoni), enum regolari jemetti oġġett JavaScript fil-bundle tiegħek. Dik għaliex bosta tim jippreferixxu unjoni ta' string literals plus as const, li hija purament tal-livell tat-tip:
// 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 jagħtu ismijiet sinifikanti għal settijiet fissi (states, roles, directions) u jiġbdhom taħt namespace wieħed.
Bet peress li jemittu kodiċi runtime u għandhom quirks (numeric enums huma loosely checked), TypeScript modern ħafna drabi jippreferi string-literal unions għal każijiet sempliċi — huma aktar ħafifa u jiserializaw naturalment.
Uża enums meta trid il-namespacing jew reverse mapping.