enum नामित स्थिरांक के एक सेट को परिभाषित करता है। TypeScript के पास संख्यात्मक और string enums हैं।
{ , , , }
.;
[];
{
= ,
= ,
}
.;
enum नामित स्थिरांक के एक सेट को परिभाषित करता है। TypeScript के पास संख्यात्मक और string enums हैं।
{ , , , }
.;
[];
{
= ,
= ,
}
.;
अधिकांश TypeScript प्रकारों के विपरीत (जो संकलन समय में गायब हो जाते हैं), एक नियमित enum आपके bundle में एक JavaScript object को उत्सर्जित करता है। यही कारण है कि कई टीमें string literals की union साथ as const को पसंद करते हैं, जो विशुद्ध रूप से type-level है:
// 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 निश्चित सेटों (states, roles, directions) को अर्थपूर्ण नाम देते हैं और उन्हें एक namespace के तहत समूहित करते हैं।
लेकिन क्योंकि वे runtime कोड उत्पन्न करते हैं और उनमें विचित्रताएं हैं (numeric enums को느슨ेपन से जांचा जाता है), आधुनिक TypeScript अक्सर सरल मामलों के लिए string-literal unions को प्राथमिकता देता है — वे हल्के हैं और स्वाभाविक रूप से serialize होते हैं।
Enums का उपयोग करें जब आप namespacing या reverse mapping चाहते हैं।