?: (conditionnel ternaire), opérateur
En fonction d'une condition, retourne l'une ou l'autre des deux expressions.
test ? expression1 : expression2
Arguments
test
Toute expression booléenne.expression1
Expression retournée si test a la valeur true. Il peut s'agir d'une expression avec virgules.expression2
Expression retournée si test a la valeur false. Il peut s'agir d'une expression avec virgules.
Notes
L'opérateur ?: peut être utilisé comme raccourci pour une instruction if...else. Il est généralement employé dans une longue expression où une instruction if...else ne serait pas appropriée. Par exemple :
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
Cet exemple crée une chaîne contenant « Bonne soirée. » si elle est exécutée après 18 heures. Le code équivalent avec l'instruction if...else se présenterait comme ceci :
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";