Enum kot tip v TypeScript

Vsaka enumeracija ustvari svoj lasten podatkovni tip. Za primer spremenljivki, ki hrani trenutno letni čas, dodelimo tip Season:

typescriptlet current: Season;

V našo spremenljivko zapišimo številko letnega časa:

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

Številko letnega časa je mogoče določiti ročno:

typescriptlet current: Season = 3;

Če pa poskušamo zapisati podatke drugega tipa, na primer niz, bo prišlo do napake:

typescriptlet current: Season = 'str'; // bo napaka

Na žalost obseg vrednosti ni sleden in v našo enumeracijo je mogoče zapisati številko, ki v njej ne obstaja:

typescriptlet current: Season = 7; // ne bo napake

Pri preverjanju z operatorjem typeof bo naša spremenljivka vrnila številčni tip:

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

Če povzamemo, lahko rečemo, da tak tip ni preverjen zelo strogo in je zaradi tega njegova vrednost vprašljiva.