Изброяване като тип в TypeScript
Всяко изброяване създава свой собствен
тип данни. Нека за пример за
променлива, съхраняваща текущия сезон присвоим
тип Season:
let current: Season;
Запишем в нашата променлива номера на сезона:
let current: Season = Season.Winter;
console.log(current); // 0
Може да се укаже номера на сезона ръчно:
let current: Season = 3;
А ако се опитаме да запишем данни от друг тип, например, низ, ще получим грешка:
let current: Season = 'str'; // ще има грешка
За съжаление, диапазонът от стойности не се проследява и може да се запише номер, който липсва в нашето изброяване:
let current: Season = 7; // няма да има грешка
При проверка чрез оператор typeof
нашата променлива ще върне числов тип:
let current: Season = 3;
console.log(typeof current); // "number"
Обобщавайки, може да се каже, че такъв тип се проверява не много строго и от това стойността му е съмнителна.