Enumeración como tipo en TypeScript
Cada enumeración crea su propio
tipo de dato. Pongamos como ejemplo una
variable que almacene la estación actual y asignémosle
el tipo Season
:
let current: Season;
Escribamos en nuestra variable el número de la estación:
let current: Season = Season.Winter;
console.log(current); // 0
Se puede indicar el número de la estación manualmente:
let current: Season = 3;
Pero si intentamos escribir datos de otro tipo, por ejemplo, una cadena, habrá un error:
let current: Season = 'str'; // habrá un error
Desafortunadamente, el rango de valores no se verifica y se puede escribir un número ausente en nuestra enumeración:
let current: Season = 7; // no habrá error
Al verificar mediante el operador typeof
nuestra variable devolverá el tipo numérico:
let current: Season = 3;
console.log(typeof current); // "number"
En resumen, se puede decir que este tipo no se verifica de manera muy estricta y por ello su valor es cuestionable.