Énumérations hétérogènes
Fait partie de la section Introduction à TypeScript du Journey JavaScript de Coddy — leçon 55 sur 73.
TypeScript prend également en charge les enums hétérogènes - des enums qui contiennent un mélange de membres de type chaîne et numériques au sein de la même déclaration.
Voici comment vous pouvez créer un enum hétérogène :
enum MixedEnum {
No = 0,
Yes = "YES",
Maybe = 1
}Dans cet exemple, No et Maybe sont des membres numériques, tandis que Yes est un membre de type chaîne de caractères. TypeScript permet cette flexibilité, bien qu'il soit important de noter que les énumérations hétérogènes sont rarement utilisées en pratique.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Défi
FacileCréez un enum hétérogène nommé ResponseCode qui mélange des valeurs de type chaîne de caractères et numériques :
Successinitialisé à200Errorinitialisé à"ERROR"NotFoundinitialisé à404Timeoutinitialisé à"TIMEOUT"
Créez une fonction nommée handleResponse qui prend un paramètre :
codede typeResponseCode
La fonction doit :
- Vérifier le code de réponse et afficher différents messages en fonction de la valeur
- Si le code est
ResponseCode.Success, afficher"Request successful" - Si le code est
ResponseCode.Error, afficher"General error occurred" - Si le code est
ResponseCode.NotFound, afficher"Resource not found" - Si le code est
ResponseCode.Timeout, afficher"Request timed out" - Avoir un type de retour
void
Créez quatre variables pour démontrer les valeurs de l'enum :
successCodede typeResponseCodeet lui assignerResponseCode.SuccesserrorCodede typeResponseCodeet lui assignerResponseCode.ErrornotFoundCodede typeResponseCodeet lui assignerResponseCode.NotFoundtimeoutCodede typeResponseCodeet lui assignerResponseCode.Timeout
Affichez les sorties suivantes :
- Afficher la valeur de
successCode - Afficher la valeur de
errorCode - Afficher la valeur de
notFoundCode - Afficher la valeur de
timeoutCode - Appeler
handleResponseavecResponseCode.Success - Appeler
handleResponseavecerrorCode - Appeler
handleResponseavec la valeur numérique404
Aide-mémoire
TypeScript prend en charge les énumérations hétérogènes qui contiennent un mélange de membres de type chaîne et de membres numériques au sein de la même déclaration :
enum MixedEnum {
No = 0,
Yes = "YES",
Maybe = 1
}Dans les énumérations hétérogènes, vous pouvez mélanger des valeurs numériques et des chaînes de caractères. Bien que TypeScript autorise cette flexibilité, les énumérations hétérogènes sont rarement utilisées en pratique.
Essayez vous-même
// TODO : Écrivez votre code ici
// Créer l'énumération ResponseCode
// Créer la fonction handleResponse
// Créer les variables de démonstration
// Afficher 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ées3Structure 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 objets