Utiliser les énumérations de chaînes
Fait partie de la section Introduction à TypeScript du Journey JavaScript de Coddy. Leçon 54 sur 73.
Les enums de chaînes de caractères fonctionnent particulièrement bien en tant que paramètres de fonction car ils fournissent des valeurs claires et lisibles tout en maintenant la sécurité des types.
Voici comment utiliser une énumération de chaînes dans une fonction :
function move(direction: Direction): void {
console.log(`Moving ${direction.toLowerCase()}...`);
}Lorsque vous appelez cette fonction, TypeScript n'acceptera que les valeurs d'énumération prédéfinies. Vous pouvez l'appeler en utilisant move(Direction.Up), ce qui affichera "Moving up...". Votre éditeur de code fournira l'autocomplétion pour les membres d'énumération disponibles, et TypeScript interceptera toute tentative de passage de valeurs de direction invalides.
Défi
FacileOn vous fournit les éléments suivants du défi précédent :
- L'énumération de chaînes
Directionavec les membresUp,Down,Left, etRight - Les variables :
upDirection,downDirection,leftDirection, etrightDirection
Créez une fonction nommée move qui prend un paramètre :
directionde typeDirection
La fonction doit :
- Afficher un message au format
"Moving [direction]..."où[direction]est la version en minuscules de la valeur de chaîne de l'énumération - Avoir un type de retour
void
Créez une fonction nommée getMovementDescription qui prend un paramètre :
directionde typeDirection
La fonction doit :
- Retourner une chaîne décrivant le mouvement en fonction de la direction :
- Pour
Direction.Up: retourner"Going upward" - Pour
Direction.Down: retourner"Going downward" - Pour
Direction.Left: retourner"Turning left" - Pour
Direction.Right: retourner"Turning right" - Avoir un type de retour explicite
string
Créez une variable nommée playerDirection de type Direction et affectez-lui Direction.Up.
Affichez les sorties suivantes :
- Appelez
moveavecDirection.Up - Appelez
moveavecleftDirection - Appelez
moveavecplayerDirection - Affichez le résultat de l'appel à
getMovementDescriptionavecDirection.Down - Affichez le résultat de l'appel à
getMovementDescriptionavecrightDirection - Appelez
moveavecDirection.Right
Essayez vous-même
// Du défi précédent - énumération Direction et variables
enum Direction {
Up = "Up",
Down = "Down",
Left = "Left",
Right = "Right"
}
const upDirection = Direction.Up;
const downDirection = Direction.Down;
const leftDirection = Direction.Left;
const rightDirection = Direction.Right;
// À FAIRE : Écrivez votre code ici
// Créez la fonction move qui prend un paramètre Direction et affiche "Moving [direction]..."
// Créez la fonction getMovementDescription qui renvoie les descriptions de mouvement
// Créez la variable playerDirection
// Appelez les fonctions et affichez les sorties requisesCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Introduction à TypeScript
1Premiers pas avec TS
Qu'est-ce que TypeScript ?Pourquoi utiliser TypeScript ?Votre premier code TypeScriptProcessus de compilation et erreursRécapitulatif : Introduction à TS4Travailler avec les fonctions
Typage des paramètres et valeurs de retourTypage des fonctions fléchéesLe type de retour 'void'Paramètres optionnels avec '?'Valeurs par défaut des paramètresTypage des paramètres RestDéfinir des types de fonctionsRécapitulatif : Créer des fonctions typées2Types fondamentaux
Types de base : str, num, booleanLe type 'any' : la porte de sortieLe type 'unknown'Travailler avec 'null' et 'undef'L'inférence de type en actionAnnotations de type explicitesRécapitulatif : Pratique des types fondamentaux5Types : Alias, Unions & Intersections
Alias de types pour les primitifsTypes d'union ('|')Travailler avec les types d'unionTypes littérauxTypes d'intersection ('&')Combiner des alias de typesRécapitulatif : Combinaisons de types avancées8Énumérations
Qu'est-ce qu'une énumération numérique ?Utiliser les énumérations numériquesQu'est-ce qu'une énumération de chaînes ?Utiliser les énumérations de chaînesÉnumérations hétérogènesRécapitulatif : Utiliser les énumérations3Structure de données : Tableaux et Tuples
Tableaux typésModificateur 'readonly' pour les tableauxQu'est-ce qu'un tuple ?Déclaration et accès aux tuplesDéstructuration de tuplesTuples readonlyTableaux typés multidimensionnelsSpread operator avec les tableauxRécapitulatif : Tableaux et tuples6Typage des objets et interfaces
Annotations de type d'objet en ligneAlias de type pour les objetsIntroduction aux interfacesInterfaces vs Alias de typePropriétés optionnelles et ReadonlyÉtendre les interfaces et les typesAjout de méthodes aux interfacesRécapitulatif : Définir la structure des objetsEntraînez-vous par vous-même : Compilateur JavaScript en ligne