Principes de base de JavaScript : opérateurs ternaires

Mar 23 2023
Qu'est-ce qu'un opérateur ternaire ? L'opérateur ternaire est utilisé pour vérifier les conditions dans votre code au lieu d'utiliser une instruction if…else. Il est également appelé opérateur conditionnel et rend le code considérablement plus court et plus facile à lire (la plupart du temps).
Photo de Tsvetoslav Hristov sur Unsplash

Qu'est-ce qu'un opérateur ternaire ?

L'opérateur ternaire est utilisé pour vérifier les conditions dans votre code au lieu d'utiliser une instruction if…else. Il est également appelé opérateur conditionnel et rend le code considérablement plus court et plus facile à lire (la plupart du temps).

Syntaxe

Examinons la syntaxe d'un opérateur ternaire :

condition ? trueExpression : falseExpression

condition — la condition que vous évaluez. Ex. : Est-ce que l'âge est > 5 ans.

trueExpression: c'est ce qui devrait arriver si le conditionesttrue.

falseExpression: c'est ce qui devrait arriver si le conditionestfalse.

Exemple

Vous trouverez ci-dessous un exemple utilisant une instruction if…else vérifiant si la voiture doit se déplacer en fonction de la couleur du feu de signalisation.

let color = ‘red’; // color of the traffic light
let carMovement;

if (color === 'red') {
  carMovement = 'stop';
} else {
  carMovement = 'go';
}

console.log(carMovement); //stop

let color = 'red'; // color of the traffic light
let carMovement = color === red ? 'stop' : 'go';

console.log(carMovement); //stop

Vous pouvez également imbriquer ou chaîner un opérateur ternaire en tant qu'expression à l'intérieur d'un autre opérateur ternaire. Voici un exemple pour vérifier si un nombre est positif, négatif ou nul :

let num = 2;
let result = num >= 0 ? num === 0 ? 'zero' : 'positive' : 'negative';

console.log(result); //positive

let num = 2;
let result = (num >= 0) ? (num === 0 ? "zero" : "positive") : "negative";

console.log(result); //positive

Quand utiliser les opérateurs ternaires ?

Comme dans l'exemple ci-dessus mis en évidence, les opérateurs ternaires peuvent raccourcir le code, mais lors de l'utilisation d'opérateurs ternaires imbriqués complexes, ils ont tendance à rendre le code moins lisible et plus déroutant.

Une règle empirique serait de penser si quelqu'un d'autre au cours des 2 prochaines années sera capable de lire et de comprendre facilement votre code. Si la réponse est non, utilisez plutôt une instruction if…else.

Astuce : Si vous utilisez ESlint, il interdit complètement l'utilisation d'opérateurs ternaires imbriqués !

Conclusion

Les opérateurs ternaires ne brillent que lorsqu'ils facilitent la lecture, la compréhension et la maintenance du code. Il ne s'agit pas seulement de raccourcir le code, alors utilisez-les efficacement.