3.6 Les Opérateurs ternaires
L'opérateur ternaire, aussi appelé opérateur conditionnel, est un raccourci très pratique pour exprimer une décision en une seule ligne. Prenons un exemple concret : nous voulons déterminer le type d'un client en fonction de son nombre de points. S'il a plus de 100 points, c'est un client gold, sinon c'est un client silver.
Commençons par déclarer une variable pour stocker les points : let points = 110;. On souhaite ensuite déclarer une variable type qui représente le type de client. Avec l'opérateur ternaire, la syntaxe est condition ? valeurSiVrai : valeurSiFaux.
let points = 110;
let type = points > 100 ? 'gold' : 'silver';
console.log(type); // 'gold'
Lecture de la syntaxe
L'expression se lit naturellement : si points > 100 retourne true, alors type reçoit 'gold' ; sinon, il reçoit 'silver'. Comme vous l'avez vu dans la vidéo sur les opérateurs de comparaison, points > 100 produit toujours un booléen, ce qui rend l'opérateur ternaire prévisible.
Le grand avantage est la concision : trois lignes de if/else deviennent une seule expression facile à lire. Avec points = 110, on obtient 'gold'. Si on change la valeur en 90, on obtient 'silver'. C'est idéal pour les assignations conditionnelles simples. On se retrouve dans la prochaine vidéo pour découvrir les opérateurs logiques.
En résumé
Cette leçon enseigne l'utilisation de l'opérateur ternaire en JavaScript, une syntaxe conditionnelle compacte de la forme condition ? valeur_si_vrai : valeur_si_faux. À travers l'exemple d'un système de classification de clients (client gold si le nombre de points dépasse 100, sinon client silver), on découvre comment cette approche permet de définir une variable en fonction d'une condition booléenne. L'opérateur ternaire offre une alternative plus concise qu'une condition if/else pour les cas simples.
Points clés
- L'opérateur ternaire est une syntaxe conditionnelle compacte qui retourne l'une de deux valeurs selon une condition booléenne
- Structure : condition ? valeur_si_vrai : valeur_si_faux — évalue d'abord la condition, puis retourne la valeur correspondante
- Permet d'assigner directement une variable en fonction d'une condition, rendant le code plus lisible que les blocs if/else simples
- Exemple concret : classer les clients en 'gold' ou 'silver' selon un seuil de points (points > 100 ? 'gold' : 'silver')
- L'expression ternaire produit un résultat booléen (vrai ou faux) qui détermine le chemin d'exécution
Questions fréquentes
Comment fonctionne exactement l'opérateur ternaire ?
L'opérateur ternaire évalue d'abord la condition (avant le point d'interrogation). Si elle retourne vrai, il utilise la valeur placée entre le point d'interrogation et les deux points. Si elle retourne faux, il utilise la valeur après les deux points. Cette valeur est directement assignée à la variable.
Quelle est la différence entre l'opérateur ternaire et une condition if/else classique ?
L'opérateur ternaire est plus concis et retourne directement une valeur qui peut être assignée à une variable en une seule ligne. Une condition if/else est plus verbeux mais permet de contenir plusieurs instructions et est préférable pour les logiques plus complexes.
Peut-on utiliser l'opérateur ternaire avec différents types de valeurs ?
Oui, l'opérateur ternaire retourne simplement l'une de deux valeurs selon la condition. Dans l'exemple du cours, il retourne des chaînes de caractères ('gold' ou 'silver'), mais il peut retourner tout type de valeur : nombres, booléens, objets, etc.