Menu
Coddy logo textTech

Combiner des alias de types

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

L'un des aspects les plus puissants des alias de type est leur capacité à être combinés et réutilisés pour créer des définitions de type plus sophistiquées. Au lieu de définir des types complexes à partir de zéro à chaque fois, vous pouvez les construire en composant ensemble des alias de type plus petits et ciblés.

Cette approche favorise la réutilisabilité du code et rend vos définitions de types plus faciles à maintenir. Lorsque vous devez mettre à jour un type de base, tous les types composés qui l'utilisent héritent automatiquement des modifications :

type Email = string;
type Phone = number;

type Contact = {
  name: string;
  email: Email;
  phone: Phone;
};

Vous pouvez également combiner des alias de type au sein de types d'union pour créer des structures de données flexibles. Ceci est particulièrement utile lorsqu'une propriété d'objet peut accepter différents formats :

type ContactMethod = Email | Phone;

type User = {
  id: number;
  preferredContact: ContactMethod;
};

Cette approche compositionnelle rend votre code plus expressif et plus facile à comprendre. Plutôt que de voir des types génériques comme string ou number, les autres développeurs comprennent immédiatement l'objectif visé grâce à des noms de types significatifs comme Email et Phone.

challenge icon

Défi

Facile

Créez un alias de type nommé Username pour le type string.

Créez un alias de type nommé UserAge pour le type number.

Créez un alias de type nommé ContactMethod qui combine Username et UserAge à l’aide d’un type union.

Créez un alias de type nommé UserProfile pour un objet possédant les propriétés suivantes :

  • id de type number
  • displayName de type Username
  • preferredContact de type ContactMethod

Créez un alias de type nommé AdminProfile qui combine UserProfile avec un type objet supplémentaire contenant une propriété permissions de type string, à l’aide de types intersection.

Créez maintenant les variables suivantes :

  • Créez une variable nommée regularUser de type UserProfile avec l’identifiant 1, le displayName "john_doe" et le preferredContact "john_doe"
  • Créez une variable nommée systemAdmin de type AdminProfile avec l’identifiant 2, le displayName "admin", le preferredContact 25 et les permissions "full_access"

Créez une fonction nommée getContactInfo qui accepte un paramètre appelé contact de type ContactMethod et renvoie une string. Utilisez une garde de type pour vérifier le type et renvoyer :

  • S’il s’agit d’une chaîne de caractères : "Contact: [contact]"
  • S’il s’agit d’un nombre : "Age: [contact]"

Affichez les résultats suivants sur des lignes séparées :

  • Appelez getContactInfo avec regularUser.preferredContact et affichez le résultat
  • Appelez getContactInfo avec systemAdmin.preferredContact et affichez le résultat
  • Affichez systemAdmin.permissions

Essayez vous-même

// À FAIRE : Écrivez votre code ici

// Créer des alias de type pour Username, UserAge, ContactMethod, UserProfile et AdminProfile

// Créer les variables regularUser et systemAdmin

// Créer la fonction getContactInfo

// Afficher les sorties requises
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 : Compilateur JavaScript en ligne