Operatore condizionale ternario (?:)
Restituisce una delle due espressioni a seconda che una condizione risulti vera o falsa.
test ? expression1 : expression2
Argomenti
test
Un'espressione Boolean qualsiasi.expression1
Un'espressione restituita se test è true. Può essere un'espressione delimitata da virgole.expression2
Un'espressione restituita se test è false. Può essere un'espressione delimitata da virgole.
Note
L'operatore ?: può essere utilizzato come alternativa rapida all'istruzione if...else. Viene infatti utilizzato come parte di un'espressione più ampia in cui l'utilizzo dell'istruzione if...else risulterebbe più contorto. ad esempio:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
In questo esempio viene creata una stringa contenente "Good evening.", se dopo le ore 18.00. Il codice equivalente utilizzando un'istruzione if...else sarebbe il seguente:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";