ਇੱਕ enum ਨਾਮਕ ਸਥਿਰਾਂਕ ਦਾ ਇੱਕ ਸੈੱਟ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। TypeScript ਕੋਲ ਸੰਖਿਆਤਮਕ ਅਤੇ string enums ਹਨ।
{ , , , }
.;
[];
{
= ,
= ,
}
.;
ਇੱਕ enum ਨਾਮਕ ਸਥਿਰਾਂਕ ਦਾ ਇੱਕ ਸੈੱਟ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। TypeScript ਕੋਲ ਸੰਖਿਆਤਮਕ ਅਤੇ string enums ਹਨ।
{ , , , }
.;
[];
{
= ,
= ,
}
.;
ਜ਼ਿਆਦਾਤਰ TypeScript ਪ੍ਰਕਾਰਾਂ ਦੇ ਉਲਟ (ਜੋ ਸੰਕਲਨ ਸਮੇਂ ਲੁਪਤ ਹੋ ਜਾਂਦੇ ਹਨ), ਇੱਕ ਨਿਯਮਿਤ enum ਤੁਹਾਡੇ ਬੰਡਲ ਵਿੱਚ ਇੱਕ JavaScript ਵਸਤੂ ਨਿਕਾਸ ਕਰਦਾ ਹੈ। ਇਸੇ ਕਾਰਨ ਬਹੁਤ ਸਾਰੀਆਂ ਟੀਮਾਂ string ਲਿਟਰਲ ਦਾ ਇੱਕ ਯੂਨੀਅਨ ਅਤੇ as const ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੀਆਂ ਹਨ, ਜੋ ਕਿ ਸ਼ੁੱਧ ਟਾਈਪ-ਲੈਵਲ ਹੈ:
// 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 ਨਿਸ਼ਚਿਤ ਸੈੱਟਾਂ (ਅਵਸਥਾਵਾਂ, ਭੂਮਿਕਾਵਾਂ, ਦਿਸ਼ਾਵਾਂ) ਨੂੰ ਅਰਥਪੂਰਨ ਨਾਮ ਦਿੰਦੇ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਨਾਮ ਸਪੇਸ ਦੇ ਅਧੀਨ ਸਮੂਹ ਕਰਦੇ ਹਨ।
ਪਰ ਕਿਉਂਕਿ ਉਹ ਰਨਟਾਈਮ ਕੋਡ ਨਿਕਾਸ ਕਰਦੇ ਹਨ ਅਤੇ ਅਜੀਬਤਾ ਹਨ (ਸੰਖਿਆਤਮਕ enums ਢਿੱਲੇ ਢੰਗ ਨਾਲ ਜਾਂਚੇ ਜਾਂਦੇ ਹਨ), ਆਧੁਨਿਕ TypeScript ਅਕਸਰ string-literal unions ਨੂੰ ਸਧਾਰਣ ਮਾਮਲਿਆਂ ਲਈ ਤਰਜੀਹ ਦਿੰਦਾ ਹੈ — ਉਹ ਹਲਕੇ ਹਨ ਅਤੇ ਸੁਨੇਹਰੀ ਅਤੇ ਕੁਦਰਤੀ ਤੌਰ 'ਤੇ ਸੰਖਿਪ ਹੁੰਦੇ ਹਨ।
Enums ਦੀ ਵਰਤੋਂ ਕਰੋ ਜਦੋਂ ਤੁਸੀਂ ਨਾਮ ਸਪੇਸ ਜਾਂ ਉਲਟ ਮੈਪਿੰਗ ਚਾਹੁੰਦੇ ਹੋ।