L'énumération comme type en TypeScript
Chaque énumération crée son propre
type de données. Prenons comme exemple une
variable stockant la saison actuelle et attribuons-lui
le type Season
:
let current: Season;
Enregistrons le numéro de la saison dans notre variable :
let current: Season = Season.Winter;
console.log(current); // 0
Il est possible d'indiquer manuellement le numéro de la saison :
let current: Season = 3;
En revanche, si on tente d'enregistrer des données d'un autre type, par exemple une chaîne de caractères, une erreur se produira :
let current: Season = 'str'; // une erreur se produira
Malheureusement, la plage de valeurs n'est pas surveillée et il est possible d'enregistrer un numéro absent de notre énumération :
let current: Season = 7; // aucune erreur ne se produira
Lors d'une vérification via l'opérateur typeof
notre variable renverra le type numérique :
let current: Season = 3;
console.log(typeof current); // "number"
En résumé, on peut dire que ce type n'est pas vérifié de manière très stricte, ce qui rend sa valeur discutable.