0Pricing
TypeScript Academy · Leçon

Types union : A ou B

Utilisez | pour autoriser plusieurs possibilités de types

Types union : A ou B est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.

Bienvenue

Les unions de types permettent à une valeur d’être de l’un de plusieurs types. Elles s’écrivent avec l’opérateur `|` et sont essentielles pour modéliser les données du monde réel.

Syntaxe de base des unions

Combinez deux types ou plus avec `|`. Une variable dotée d’un type d’union peut contenir l’un quelconque des types listés.
let id: string | number;
id = 'abc123'; // OK
id = 42;       // OK
// id = true;  // Error

Les unions dans les paramètres de fonction

Acceptez plusieurs types d’entrée dans une fonction à l’aide d’un type d’union comme paramètre.
function format(val: string | number): string {
  return typeof val === 'string' ? val.toUpperCase() : val.toFixed(2);
}

Affinage requis pour les membres d’une union

Vous ne pouvez appeler sans affinage que les méthodes communes à tous les membres de l’union. Pour les méthodes propres à un type, vous devez d’abord affiner le type.
function process(val: string | number) {
  // val.toFixed(2); // Error — not on string
  if (typeof val === 'number') {
    val.toFixed(2); // OK
  }
}

Union avec des types littéraux

Les types d’union de valeurs littérales créent un ensemble de valeurs de chaîne ou numériques autorisées, comparable à une énumération.
type Direction = 'north' | 'south' | 'east' | 'west';
type StatusCode = 200 | 201 | 400 | 404 | 500;

Union pour les types pouvant être nuls

L’union la plus courante est `T | null` ou `T | undefined` pour représenter des valeurs facultatives lorsque strictNullChecks est activé.
function getUser(id: number): User | null {
  return db.find(u => u.id === id) ?? null;
}

Union de types objet

Les types d’union peuvent combiner des types objet. TypeScript n’autorise l’accès sans affinage qu’aux propriétés communes à tous les membres.
type Cat = { kind: 'cat'; meow(): void };
type Dog = { kind: 'dog'; bark(): void };
type Pet = Cat | Dog;
function speak(pet: Pet) {
  if (pet.kind === 'cat') pet.meow();
  else pet.bark();
}

Trois types ou plus dans une union

Les types d’union peuvent inclure autant de types que nécessaire.
type Input = string | number | boolean | null;

Union dans les types de retour

Les fonctions peuvent renvoyer différents types selon leur logique. Exprimez cela avec un type d’union comme type de retour.
function divide(a: number, b: number): number | null {
  if (b === 0) return null;
  return a / b;
}

Unions discriminées

Ajoutez une propriété littérale commune, appelée discriminant, aux membres de l’union. TypeScript l’utilise pour affiner automatiquement le type.
type Square = { kind: 'square'; side: number };
type Circle = { kind: 'circle'; radius: number };
type Shape = Square | Circle;

Propriétés communes sans affinage

Si tous les membres de l’union partagent une propriété, vous pouvez y accéder sans affiner le type.
type A = { name: string; x: number };
type B = { name: string; y: number };
type AB = A | B;
function getName(obj: AB): string {
  return obj.name; // OK — name is on both
}

Vérification rapide

Quelle syntaxe crée un type d’union pouvant être une chaîne ou un nombre ?

Récapitulatif

Les types d’union (`|`) autorisent des valeurs de plusieurs types. Affinez les unions avant d’utiliser des opérations propres à un type. Les types d’union littéraux limitent les valeurs à un ensemble fini. Les unions discriminées ajoutent une étiquette commune pour faciliter l’affinage.

Questions Fréquemment Posées

La leçon « Types union : A ou B » est-elle gratuite ?

Oui — le texte complet de « Types union : A ou B » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Types union : A ou B » ?

Utilisez | pour autoriser plusieurs possibilités de types Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Types union : A ou B » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?

Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Types union : A ou B
  2. Types intersection : A et B
  3. Unions discriminées pour un filtrage sûr par motif
  4. Motifs pratiques avec les unions et les intersections
← Retour à TypeScript Academy