TypeScript
14 - Exercice : Les Guards et les assertions

Exercice - Guards

Instructions

Créez une interface Avenger avec les propriétés name (string), power (string) et team (string). Créez une interface Villain avec les propriétés name (string), evilPlan (string) et motive (string). Implémentez une fonction nommée displayAvengerInfo qui prend un argument character de type Avenger | Villain. Utilisez les gardes (typeof, instanceof, in) pour déterminer le type de l'objet passé en argument. Si l'objet est un Avenger, affichez son nom, son pouvoir et son équipe. Si l'objet est un Vilain, affichez son nom, son plan maléfique et sa motivation. Créez une autre fonction nommée assembleTeam qui prend un tableau d'objets de type Avenger | Villain et retourne un tableau contenant uniquement les Avenger faisant partie de l'équipe "Avengers".

Questions

  • Quelle est l'importance des gardes dans ce contexte ?
  • Pourquoi utilise-t-on typeof pour vérifier le type d'un argument ?
  • Comment utilise-t-on in pour vérifier si une propriété existe dans un objet ?
  • Pourquoi est-il important de bien comprendre les types et les interfaces lors de la manipulation d'objets en TypeScript ?