Enumerasjon som type i TypeScript

Hver enumerasjon oppretter sin egen datatype. La oss for eksempel for variabelen som lagrer gjeldende årstid tilordne typen Season:

typescriptlet current: Season;

La oss skrive årstallets nummer inn i variabelen vår:

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

Man kan spesifisere årstallets nummer manuelt:

typescriptlet current: Season = 3;

Men hvis man prøver å skrive data av en annen type, for eksempel en streng, vil det oppstå en feil:

typescriptlet current: Season = 'str'; // vil gi feil

Dessverre blir verdiområdet ikke sporet og man kan skrive et nummer som ikke finnes i enumerasjonen vår:

typescriptlet current: Season = 7; // ingen feil vil oppstå

Ved sjekk med operatoren typeof vil variabelen vår returnere nummertypen:

typescriptlet current: Season = 3;
console.log(typeof current); // "number"

Oppsummert kan man si at en slik type ikke sjekkes veldig strengt, og på grunn av dette er dens verdi tvilsom.