Enumerazione come tipo in TypeScript
Ogni enumerazione crea il proprio
tipo di dato. Prendiamo come esempio una
variabile che memorizza la stagione corrente e assegniamole
il tipo Season:
let current: Season;
Assegniamo alla nostra variabile il numero della stagione:
let current: Season = Season.Winter;
console.log(current); // 0
È possibile specificare manualmente il numero della stagione:
let current: Season = 3;
Ma se si tenta di assegnare dati di un altro tipo, ad esempio una stringa, ci sarà un errore:
let current: Season = 'str'; // darà errore
Sfortunatamente, l'intervallo di valori non viene tracciato ed è possibile assegnare un numero assente nella nostra enumerazione:
let current: Season = 7; // non darà errore
Durante il controllo tramite l'operatore typeof
la nostra variabile restituirà il tipo numerico:
let current: Season = 3;
console.log(typeof current); // "number"
In conclusione, si può dire che questo tipo non viene controllato in modo molto rigoroso e quindi il suo valore è discutibile.