Operador (Ternário) condicional (?:)
Retorna uma das duas expressões dependendo de uma condição.
test ? expression1 : expression2
Argumentos
teste
Qualquer expressão booliana.Expressão1
Um se retornado expressão teste is True.Pode ser uma expressão de vírgula.Expressão2
Um se retornado expressão teste is False.Pode ser uma expressão de vírgula.
Comentários
The ?: operador pode ser usado sistema autônomo um atalho para um if...else demonstrativo. Normalmente é usado sistema autônomo parte de uma expressão maior, onde um if...else demonstrativo seria complicada. Por exemplo:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
O exemplo cria uma seqüência de caracteres contendo "mercadoria noite." Se estiver após às 18 h.O código equivalente usando um if...else demonstrativo ficaria da seguinte maneira:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";