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:

typescriptlet current: Season;

Låt oss skriva säsongsnumret till vår variabel:

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

Man kan ange säsongsnumret manuellt:

typescriptlet current: Season = 3;

Men om man försöker skriva data av en annan typ, till exempel en sträng, blir det ett fel:

typescriptlet 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:

typescriptlet current: Season = 7; // inget fel kommer att uppstå

Vid kontroll med operatorn typeof kommer vår variabel att returnera nummertypen:

typescriptlet 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.