Enum som type i TypeScript
Hver enum opretter sin egen
datatype. Lad os for eksempel til
en variabel, der gemmer den nuværende årstid, tildele
typen Season:
let current: Season;
Lad os gemme årstallets nummer i vores variabel:
let current: Season = Season.Winter;
console.log(current); // 0
Det er muligt at angive årstallets nummer manuelt:
let current: Season = 3;
Men hvis man forsøger at gemme data af en anden type, for eksempel en streng, vil der opstå en fejl:
let current: Season = 'str'; // vil give en fejl
Desværre bliver værdiområdet ikke overvåget, og det er muligt at angive et nummer, som ikke findes i vores enum:
let current: Season = 7; // ingen fejl vil opstå
Ved en kontrol med typeof-operatoren
vil vores variabel returnere typen number:
let current: Season = 3;
console.log(typeof current); // "number"
Opgørelsen viser, at en sådan type ikke kontrolleres særlig strengt, hvilket gør dens værdi tvivlsom.