Operador Condicional (Ternário)

O operador é basicamente uma forma abreviada de uma expressão condicional, exceto que ela retorna um valor dependendo da condição. A sintaxe básica desse operador é:

resultado = condicao ? valor_se_verdadeiro : valor_se_falso;

Quando esse operador é chamado, primeiro é analisada a condição, e se o resultado for verdadeiro a expressão valor_se_verdadeiro é calculada e retornada, senão a expressão valor_se_falso é calculada e retornada.

Esse operador também é comumente chamado como ternário, pois é formado por três partes.

Exemplos

Em funções que retornam um valor dependendo de uma condição:

function maximo(a, b) {
  // Se a for maior que b, retorna a, senão retorna b
  return a > b ? a : b;
}

maximo(10, 20); // Resultado: 20
maximo(20, 10); // Resultado: 20

Em conjunto para simular um if/else if/else ou um switch/case:

var numero = 2;

var texto = numero == 1 ? "um" : numero == 2 ? "dois" : "outro";

texto;
// Resultado: "dois"

Referências