Menu
CoddyTech

Utiliser les énumérations numériques

Fait partie de la section Introduction à TypeScript du Journey JavaScript de Coddy. Leçon 52 sur 73.

Vous pouvez utiliser une énumération comme annotation de type, tout comme n'importe quel autre type TypeScript. Lorsque vous spécifiez une énumération comme type de paramètre, TypeScript s'assure que seules des valeurs d'énumération valides peuvent être transmises à cette fonction :

function processUser(role: UserRole): void {
  if (role === UserRole.Admin) {
    console.log("Full access granted");
  } else if (role === UserRole.Editor) {
    console.log("Edit access granted");
  } else {
    console.log("View access only");
  }
}

Cette approche offre une excellente sécurité de type - TypeScript détectera toute tentative de passage de valeurs invalides, et votre éditeur de code proposera l'autocomplétion pour les membres de l'énumération disponibles. Vous pouvez appeler cette fonction en utilisant processUser(UserRole.Admin) ou même processUser(0), puisque les énumérations numériques acceptent leurs valeurs numériques sous-jacentes.

challenge icon

Défi

Facile

Créez une fonction nommée checkPermissions qui prend un paramètre :

  • role de type UserRole (en utilisant l'énumération de la leçon précédente)

La fonction doit :

  • Vérifier la valeur du rôle et afficher différents messages en fonction du rôle
  • Si le rôle est UserRole.Admin, afficher "Full access granted"
  • Si le rôle est UserRole.Editor, afficher "Edit access granted"
  • Pour tout autre rôle, afficher "View access only"
  • Avoir un type de retour void

Les éléments suivants du défi précédent vous sont fournis :

  • L'énumération UserRole avec les membres Admin, Editor, et Viewer
  • Les variables : adminRole, editorRole, et viewerRole

Créez une variable nommée currentUser de type UserRole et assignez-lui UserRole.Editor.

Créez une variable nommée guestUser de type UserRole et assignez-lui la valeur numérique 2.

Affichez les sorties suivantes en appelant votre fonction checkPermissions :

  • Appelez checkPermissions avec adminRole
  • Appelez checkPermissions avec currentUser
  • Appelez checkPermissions avec guestUser
  • Appelez checkPermissions avec UserRole.Admin
  • Appelez checkPermissions avec la valeur numérique 0

Essayez vous-même

// Fourni lors du défi précédent
enum UserRole {
    Admin,
    Editor,
    Viewer
}

const adminRole = UserRole.Admin;
const editorRole = UserRole.Editor;
const viewerRole = UserRole.Viewer;

// À FAIRE : Écrivez votre code ici
// Créer la fonction checkPermissions
// Créer la variable currentUser
// Créer la variable guestUser
// Appeler checkPermissions avec les paramètres requis
quiz iconTestez-vous

Cette 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

Entraînez-vous par vous-même : Playground TypeScript