Një enum përcakton një grup konstantesh të emëruara. TypeScript ka enums numerike dhe string.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
Një enum përcakton një grup konstantesh të emëruara. TypeScript ka enums numerike dhe string.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
Ndryshim nga shumica e tipeve TypeScript (të cilat zhduken në kohën e përpilimit), një enum i zakonshëm lëshon një objekt JavaScript në paketën tuaj. Kjo është arsyeja pse shumë ekipe preferojnë një bashkim të literaleve string plus as const, i cili është thjesht në nivel tipi:
// 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 i japin emra të domethënës bashkësive fikse (shtete, role, drejtime) dhe i grupojnë ato nën një hapësirë emrash.
Por sepse ato lëshojnë kod në kohën e ekzekutimit dhe kanë çudira (enums numerike kontrollohen lirshëm), TypeScript-i modern shpesh favorizoi bashkimet e literaleve string për rastet e thjeshta — janë më të lehta dhe serializohen natyrshëm.
Përdorni enums kur dëshironi hapësirën e emrave ose hartëzimin e anasjelltë.