Enum si tip në TypeScript
Çdo enum krijon tipin e vet të të dhënave.
Le të përdorim si shembull një ndryshore
që ruan stinën aktuale dhe t'i caktojmë
tipin Season:
let current: Season;
Të shkruajmë në ndryshoren tonë numrin e stinës:
let current: Season = Season.Winter;
console.log(current); // 0
Mund të specifikohet numri i stinës manualisht:
let current: Season = 3;
Por nëse përpiqemi të regjistrojmë të dhëna të tipit tjetër, për shembull, një varg, do të ketë gabim:
let current: Season = 'str'; // do të ketë gabim
Fatkeqësisht, diapazoni i vlerave nuk gjurmohet dhe mund të regjistrohet një numër që mungon në enum-in tonë:
let current: Season = 7; // nuk do të ketë gabim
Gjatë kontrollit përmes operatorit typeof
ndryshorja jonë do të kthejë tipin numerik:
let current: Season = 3;
console.log(typeof current); // "number"
Duke përmbledhur mund të thuhet se ky tip nuk kontrollohet shumë rreptësisht dhe për këtë arsye vlera e tij është e diskutueshme.