Enumerácia ako typ v TypeScript
Každá enumerácia vytvára svoj vlastný
typ dát. Pre príklad pre
premennej, ktorá ukladá aktuálne ročné obdobie, priraďme
typ Season:
let current: Season;
Zapíšme do našej premennej číslo ročného obdobia:
let current: Season = Season.Winter;
console.log(current); // 0
Číslo ročného obdobia je možné zadať manuálne:
let current: Season = 3;
Ale ak sa pokúsite zapísať dáta iného typu, napríklad reťazec, nastane chyba:
let current: Season = 'str'; // bude chyba
Bohužiaľ, rozsah hodnôt nie je sledovaný a je možné zadať číslo, ktoré sa v našej enumerácii nenachádza:
let current: Season = 7; // chyba nenastane
Pri kontrole pomocou operátora typeof
naša premenná vráti číselný typ:
let current: Season = 3;
console.log(typeof current); // "number"
Ak to zhrnieme, možno povedať, že takýto typ nie je kontrolovaný príliš prísne, a preto je jeho hodnota pochybná.