enum adlandırılmış sabitlerden oluşan bir dizi tanımlar. TypeScript sayısal enumlar ve string enumlara sahiptir.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
enum adlandırılmış sabitlerden oluşan bir dizi tanımlar. TypeScript sayısal enumlar ve string enumlara sahiptir.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
Çoğu TypeScript türünün aksine (derleme zamanında kaybolurlar), normal enum bundle'ınıza bir JavaScript nesnesi yayınlar. Bu nedenle birçok takım, salt tür seviyesi olan string literalleri birleştirme ile as const tercih eder:
// 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
Enumlar sabit kümelere (states, roles, directions) anlamlı isimler verir ve bunları tek bir ad alanı altında gruplandırır.
Ancak çalışma zamanı kodu yayınlamaları ve tuhaflıklara (sayısal enumlar gevşek kontrol edilir) sahip olmaları nedeniyle, modern TypeScript genellikle basit durumlar için string-literal unions tercih eder — bunlar daha hafif ve doğal olarak seri hale getirilir.
Ad alanı veya ters eşleme istediğinizde enumları kullanın.