Enumerare ca tip în TypeScript
Fiecare enumerare creează propriul său
tip de date. Să luăm ca exemplu o
variabilă care stochează sezonul curent și să îi atribuim
tipul Season:
let current: Season;
Să scriem în variabila noastră numărul sezonului:
let current: Season = Season.Winter;
console.log(current); // 0
Se poate specifica manual numărul sezonului:
let current: Season = 3;
Dar dacă încercăm să scriem date de alt tip, de exemplu, un șir de caractere, va fi o eroare:
let current: Season = 'str'; // va fi eroare
Din păcate, intervalul de valori nu este urmărit și se poate scrie un număr care nu există în enumerarea noastră:
let current: Season = 7; // nu va fi eroare
La verificarea cu operatorul typeof
variabila noastră va returna tipul numeric:
let current: Season = 3;
console.log(typeof current); // "number"
Rezumând, se poate spune că un astfel de tip nu este verificat foarte strict și de aceea valoarea lui este îndoielnică.