एक enum नामित स्थिरांकांचा संच परिभाषित करते. TypeScript मध्ये numeric आणि string enums आहेत.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
एक enum नामित स्थिरांकांचा संच परिभाषित करते. TypeScript मध्ये numeric आणि string enums आहेत.
{ , , , }
.;
[];
{
= ,
= ,
}
.;
टाइपस्क्रिप्टच्या बहुतेक प्रकारांच्या विपरीत (जे संकलन वेळी नष्ट होतात), एक नियमित 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 अंतर्गत गटबद्ध करतात.
परंतु कारण ते रनटाइम कोड उत्सर्जित करतात आणि त्यांना विचित्रता आहे (numeric enums अशक्य तरीकेने तपासले जातात), आधुनिक TypeScript साधे प्रकरणांसाठी string-literal unions ला प्राधान्य देतो — ते हल्के आहेत आणि नैसर्गिकरित्या serialize होतात.
Enums चा वापर करा जेव्हा तुम्हाला namespacing किंवा reverse mapping हवे असेल.