Comment utiliser les énumérations dans TypeScript étape par étape
Les énumérations dans TypeScript sont un moyen de définir un ensemble de constantes nommées qui peuvent être utilisées pour représenter une collection de valeurs liées. Elles rendent le code plus lisible et plus facile à gérer en donnant des noms conviviaux à ces valeurs. Ce guide vous guidera étape par étape dans l'utilisation des énumérations dans TypeScript, en couvrant leurs types, leurs avantages et des exemples pratiques.
Qu'est-ce qu'une énumération ?
Un enum (abréviation de "enumeration") est un type de données spécial dans TypeScript qui vous permet de définir un ensemble de constantes nommées. Ces constantes nommées peuvent représenter des valeurs numériques ou de chaîne, ce qui rend votre code plus descriptif et moins sujet aux erreurs.
Types d'énumérations dans TypeScript
Il existe trois types d'énumérations dans TypeScript:
- Énumérations numériques
- Énumérations de chaînes
- Enumérations hétérogènes
Énumérations numériques
Les énumérations numériques sont la valeur par défaut dans TypeScript. Il s'agit d'un ensemble de valeurs nommées auxquelles sont automatiquement attribuées des valeurs numériques à partir de 0 ou d'une valeur de départ personnalisée si elle est spécifiée.
Exemple d'énumération numérique de base
Vous trouverez ci-dessous un exemple simple d’énumération numérique:
enum Direction {
Up,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
console.log(move); // Output: 0
Dans cet exemple, l'énumération Direction
comporte quatre membres: Up
, Down
, Left
et Right
. Par défaut, Up
se voit attribuer la valeur 0
, Down
est 1
, et ainsi de suite. Vous pouvez également spécifier des valeurs numériques personnalisées pour les membres.
Énumération numérique avec valeurs personnalisées
Vous pouvez attribuer des valeurs personnalisées aux membres d’énumération:
enum Status {
New = 1,
InProgress,
Done = 5,
Cancelled
}
console.log(Status.New); // Output: 1
console.log(Status.InProgress); // Output: 2
console.log(Status.Done); // Output: 5
console.log(Status.Cancelled); // Output: 6
Dans cet exemple, Nouveau
est défini sur 1
, En cours
est automatiquement défini sur 2
, Terminé
est défini sur 5
et Annulé
est automatiquement défini sur 6
.
Énumérations de chaînes
Les énumérations de chaînes sont un autre type d'énumération où chaque membre est initialisé avec un littéral de chaîne, ce qui les rend plus lisibles et plus faciles à déboguer.
Exemple d'énumération de chaîne de base
Vous trouverez ci-dessous un exemple d’énumération de chaîne:
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT"
}
let move: Direction = Direction.Left;
console.log(move); // Output: "LEFT"
Dans cet exemple, chaque membre d'énumération est initialisé avec une valeur de chaîne. Contrairement aux énumérations numériques, les énumérations de chaîne n'ont pas de valeurs auto-incrémentées.
Enumérations hétérogènes
Les énumérations hétérogènes sont des énumérations qui contiennent à la fois des membres de type chaîne et numérique. Bien qu'il soit possible de les définir, cela n'est généralement pas recommandé car cela peut entraîner des confusions et des erreurs dans le code.
Exemple d'énumération hétérogène
Voici un exemple d’énumération hétérogène:
enum MixedEnum {
Yes = "YES",
No = 0,
Maybe = 1
}
console.log(MixedEnum.Yes); // Output: "YES"
console.log(MixedEnum.No); // Output: 0
Dans cet exemple, MixedEnum
contient à la fois des valeurs de chaîne et des valeurs numériques. Utilisez ces énumérations avec précaution car elles peuvent prêter à confusion.
Cas d'utilisation d'Enum
Les énumérations sont utiles dans divers scénarios:
- Représentant un ensemble de constantes liées comme les directions (haut, bas, gauche, droite).
- Définition des états dans une machine à états (Nouveau, En cours, Terminé, Annulé).
- Utilisez-les dans des instructions switch-case pour une meilleure lisibilité.
Enum dans un exemple de cas de commutation
L'utilisation d'énumérations dans une instruction switch-case améliore la lisibilité du code et facilite la gestion des états.
enum Status {
New,
InProgress,
Done,
Cancelled
}
function getStatusMessage(status: Status): string {
switch (status) {
case Status.New:
return "The task is new.";
case Status.InProgress:
return "The task is in progress.";
case Status.Done:
return "The task is completed.";
case Status.Cancelled:
return "The task is cancelled.";
default:
return "Unknown status.";
}
}
console.log(getStatusMessage(Status.InProgress)); // Output: "The task is in progress."
Dans cet exemple, l'instruction switch-case est plus lisible et moins sujette aux erreurs, grâce à l'utilisation d'énumérations.
Conclusion
Les énumérations dans TypeScript offrent un moyen puissant de définir un ensemble de constantes nommées, améliorant ainsi la lisibilité du code et la sécurité des types. En utilisant des énumérations numériques, de chaîne ou même hétérogènes, vous pouvez mieux gérer et organiser votre code. Grâce à ce guide étape par étape, vous devriez maintenant être à l'aise avec l'utilisation des énumérations dans TypeScript pour rendre votre code plus propre et plus facile à gérer.