Operador (Ternário) condicional (?:)
Retorna uma das duas expressões, dependendo de uma condição.
test ? expression1 : expression2
Argumentos
teste
Qualquer expressão booleana.Expressão1
Um se retornado da expressão teste é true. Pode ser uma expressão de vírgula.Expressão2
Um se retornado da expressão teste é false. Pode ser uma expressão de vírgula.
Comentários
O ?: pode ser usado como um atalho para um if...else instrução. Ele é normalmente usado como parte de uma expressão maior onde uma if...else instrução seria inconveniente. Por exemplo:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
O exemplo cria uma seqüência de caracteres que contém a "Boa evening." Se for depois às 18h. O código equivalente usando um if...else instrução ficaria da seguinte maneira:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";