Išvardijimas kaip tipas TypeScript'e

Kiekvienas išvardijimas sukuria savo paties duomenų tipą. Pavyzdžiui, kintamajam, kuris saugo dabartinį metų laiką, priskirkime tipą Season:

typescriptlet current: Season;

Įrašykime į mūsų kintamąjį metų laiko numerį:

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

Metų laiko numerį galima nurodyti rankiniu būdu:

typescriptlet current: Season = 3;

O jei bandysime įrašyti kito tipo duomenis, pavyzdžiui, eilutę, tai bus klaida:

typescriptlet current: Season = 'str'; // bus klaida

Deja, verčių diapazonas nėra stebimas ir galima įrašyti numerį, kurio nėra mūsų išvardijime:

typescriptlet current: Season = 7; // klaidos nebus

Tikrinant naudojant operatorių typeof mūsų kintamasis grąžins skaitinį tipą:

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

Apibendrinant galima pasakyti, kad toks tipas tikrinamas ne itin griežtai, todėl jo vertė yra abejotina.