Enumeration som typ i TypeScript
Varje enumeration skapar sin egen
datatyp. Låt oss som exempel för
en variabel som lagrar den aktuella säsongen tilldela
typen Season:
let current: Season;
Låt oss skriva säsongsnumret till vår variabel:
let current: Season = Season.Winter;
console.log(current); // 0
Man kan ange säsongsnumret manuellt:
let current: Season = 3;
Men om man försöker skriva data av en annan typ, till exempel en sträng, blir det ett fel:
let current: Season = 'str'; // kommer att ge fel
Tyvärr spåras inte värdeintervallet och man kan skriva ett nummer som saknas i vår enumeration:
let current: Season = 7; // inget fel kommer att uppstå
Vid kontroll med operatorn typeof
kommer vår variabel att returnera nummertypen:
let current: Season = 3;
console.log(typeof current); // "number"
Sammanfattningsvis kan man säga att en sådan typ inte kontrolleras särskilt strikt och därför är dess värde tveksam.