enum
Un ensemble nommé de valeurs constantes, numériques ou textuelles.
Exemple
#enum Difficulty {
Easy = 'easy',
Medium = 'medium',
Hard = 'hard'
}
function label(level: Difficulty): string {
return level === Difficulty.Hard ? 'Pour les courageux' : 'Pour tout le monde'
}
console.log(Difficulty.Hard)
console.log(label(Difficulty.Easy))hard Pour tout le monde
Définition et utilisation
#Un enum (type énuméré) regroupe des constantes liées sous un nom commun, par exemple des niveaux de difficulté ou des statuts de commande. Au lieu d’écrire des chaînes « magiques » dans le code, vous faites référence à Difficulty.Hard.
Les enums numériques reçoivent des numéros consécutifs à partir de zéro, sauf si vous en fournissez vous-même. Les enums textuels exigent une valeur pour chaque membre, et ils sont plus lisibles dans les journaux et dans les données venant d’une API.
À la différence de la plupart des syntaxes de TypeScript, un enum existe aussi après la compilation, comme un objet JavaScript. C’est pourquoi de nombreuses équipes utilisent une union de littéraux ("easy" | "hard") ou un objet avec as const à la place d’un enum.
Syntaxe
#enum Name {
First = "value",
Second = "value"
}Plus d’exemples
#enum Status {
Draft,
Published,
Archived
}
console.log(Status.Published)
console.log(Status[2])1 Archived
Bonnes pratiques
#- Pour les données venant d’une API ou de localStorage, choisissez des enums textuels. La valeur
"hard"est plus facile à comprendre que2. - Envisagez une union de littéraux
type Difficulty = "easy" | "hard". Elle est plus légère et ne génère aucun code.
Entrées associées
#Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.