Usajili kama Aina katika TypeScript

Kila usajili huunda aina yake mwenyewe ya data. Hebu tuchukue mfano wa kutofautisha, kuhifadhi msimu wa sasa tukipe aina Season:

typescriptlet current: Season;

Tuandike katika tofauti yetu nambari ya msimu:

typescriptlet current: Season = Season.Winter;
console.log(current); // 0

Inaweza kubainisha nambari ya msimu kwa mikono:

typescriptlet current: Season = 3;

Lakini ikiwa utajaribu kuandika data ya aina nyingine, kwa mfano, string, basi itakuwa kosa:

typescriptlet current: Season = 'str'; // itakuwa kosa

Kwa bahati mbaya, anuwai ya maadili haifuatiliwi na inaweza kuandika nambari, isiyokuwepo katika usajili wetu:

typescriptlet current: Season = 7; // hakutawa kosa

Wakati wa ukaguzi kupitia kiendeshaji typeof tofauti yetu itatoa aina ya nambari:

typescriptlet current: Season = 3;
console.log(typeof current); // "number"

Kwa kufupisha, inaweza kusemwa kuwa aina kama hiyo hundumiwi kwa ukali sana na kwa hivyo thamani yake inayo shaka.