Typ wyliczeniowy w TypeScript
Każde wyliczenie tworzy swój własny
typ danych. Weźmy dla przykładu zmienną
przechowującą aktualną porę roku i przypiszmy jej
typ Season:
let current: Season;
Zapiszmy w naszej zmiennej numer pory roku:
let current: Season = Season.Winter;
console.log(current); // 0
Można podać numer pory roku ręcznie:
let current: Season = 3;
A jeśli spróbujemy zapisać dane innego typu, na przykład ciąg znaków, to pojawi się błąd:
let current: Season = 'str'; // pojawi się błąd
Niestety, zakres wartości nie jest śledzony i można zapisać numer, którego nie ma w naszym wyliczeniu:
let current: Season = 7; // błędu nie będzie
Podczas sprawdzania za pomocą operatora typeof
nasza zmienna zwróci typ liczbowy:
let current: Season = 3;
console.log(typeof current); // "number"
Podsumowując, można powiedzieć, że taki typ nie jest sprawdzany zbyt rygorystycznie, przez co jego wartość jest wątpliwa.