OUJOOD.COM
🔀 Les types unions
Un type union permet à une variable d’accepter plusieurs types possibles. On utilise le caractère | (barre verticale) pour les séparer.
📌 Exemple simple :
let identifiant: number | string; identifiant = 123; // ✅ OK identifiant = "abc123"; // ✅ OK identifiant = true; // ❌ Erreur : boolean n'est pas autorisé
identifiantpeut être unnumberou unstring.- Mais pas un
boolean, car il n’est pas inclus dans l’union.
📦 Utilisation typique : gestion d’entrées flexibles
On utilise souvent les types unions lorsqu’on veut accepter différentes formes de données en entrée.
function afficherPrix(prix: number | string): void {
console.log("Prix : " + prix + " €");
}
afficherPrix(19.99); // OK
afficherPrix("19.99"); // OK
- La fonction accepte un prix en
numberou enstring. - Utile pour gérer les entrées d'utilisateur (souvent des chaînes).
📐 Les types littéraux
Un type littéral permet de limiter une variable à des valeurs précises, comme un ensemble de choix autorisés.
📌 Exemple avec des devises :
let devise: "EUR" | "USD" | "MAD"; devise = "EUR"; // ✅ OK devise = "USD"; // ✅ OK devise = "CAD"; // ❌ Erreur : non autorisé
devisen’accepte que les valeurs "EUR", "USD" ou "MAD".- Impossible d’y mettre une valeur non définie, même si elle est textuelle.
🎮 Exemple d’état de bouton :
type EtatBouton = "actif" | "inactif" | "desactive"; let etat: EtatBouton = "actif"; etat = "desactive"; // ✅ OK etat = "cliqué"; // ❌ Erreur
- Le type
EtatBoutonest une union de littéraux. - Utile pour gérer des états, rôles, statuts avec sécurité maximale.
🎯 Combiner union + types personnalisés
On peut combiner les types unions avec type ou interface pour des données riches.
type Genre = "homme" | "femme" | "autre";
interface Personne {
nom: string;
genre: Genre;
}
let p1: Personne = { nom: "Alex", genre: "autre" };
let p2: Personne = { nom: "Emma", genre: "inconnu" }; // ❌ Erreur
📌 Résumé
- Type union : permet plusieurs types (ex :
string | number) - Type littéral : limite les valeurs possibles à une liste définie
- Très utile pour contrôler des statuts, états, choix fixes
🧭 Prochaine étape
Dans le chapitre suivant, tu découvriras les enum (énumérations), une autre façon très puissante de gérer des valeurs fixes nommées.
Souhaites-tu passer au Chapitre 9 : Enums et constantes en TypeScript ?