Enumeratie als type in TypeScript
Elke enumeratie creëert zijn eigen
gegevenstype. Laten we bijvoorbeeld voor een
variabele die het huidige seizoen opslaat, het
type Season toewijzen:
let current: Season;
Laten we het seizoensnummer in onze variabele opschrijven:
let current: Season = Season.Winter;
console.log(current); // 0
Het seizoensnummer kan handmatig worden opgegeven:
let current: Season = 3;
Maar als we proberen gegevens van een ander type op te slaan, bijvoorbeeld een string, dan zal er een fout optreden:
let current: Season = 'str'; // er zal een fout optreden
Helaas wordt het waardenbereik niet gecontroleerd en is het mogelijk om een nummer in te stellen dat niet in onze enumeratie voorkomt:
let current: Season = 7; // geen fout
Bij controle met de typeof operator
geeft onze variabele het numerieke type terug:
let current: Season = 3;
console.log(typeof current); // "number"
Samenvattend kunnen we zeggen dat een dergelijk type niet erg strikt wordt gecontroleerd, en daarom is de waarde ervan twijfelachtig.