Operador ternário: uma decisão em uma linha só

Conheça uma forma concisa de escrever condicionais simples.

Imagine que você está com pressa e precisa tomar uma decisão rápida, sem muita enrolação. Por exemplo, "Se está chovendo, pego o guarda-chuva, senão, pego os óculos de sol". Você não precisa de um discurso longo para isso, certo?

No JavaScript, o Operador Ternário é exatamente isso: uma forma concisa e "direta ao ponto" de escrever uma condição if/else simples em uma única linha de código. Ele é chamado de "ternário" porque envolve três partes (três operandos).

Como funciona o Operador Ternário?

A sintaxe é a seguinte:

condição ? valor_se_verdadeiro : valor_se_falso;

Vamos quebrar isso:

  1. condição: É a expressão que será avaliada. Ela deve resultar em true (verdadeiro) ou false (falso).
  2. ?: Este é o operador ternário em si, que separa a condição do que acontece se ela for verdadeira.
  3. valor_se_verdadeiro: É o valor ou a expressão que será retornada/executada se a condição for true.
  4. :: Este é o separador entre o que acontece se a condição for verdadeira e o que acontece se for falsa.
  5. valor_se_falso: É o valor ou a expressão que será retornada/executada se a condição for false.

É como perguntar: "A condição é verdadeira? Se sim, faça isso; senão, faça aquilo."

Exemplo prático: Verificando a idade para dirigir

Vamos usar um exemplo comum: verificar se uma pessoa pode dirigir.

Com if/else tradicional:

let idade = 18;
let podeDirigir;

if (idade >= 18) {
  podeDirigir = "Pode dirigir";
} else {
  podeDirigir = "Não pode dirigir";
}

console.log(podeDirigir); // Saída: Pode dirigir

Com Operador Ternário:

let idade = 18;
let podeDirigir = idade >= 18 ? "Pode dirigir" : "Não pode dirigir";

console.log(podeDirigir); // Saída: Pode dirigir

Percebe como o código fica mais compacto e direto? Em uma única linha, definimos a condição (idade >= 18), o resultado se for verdadeiro ("Pode dirigir") e o resultado se for falso ("Não pode dirigir").

Outros exemplos:

Atribuindo um valor baseado em uma condição:

let estaChovendo = true;
let atividade = estaChovendo ? "Ficar em casa lendo" : "Ir passear no parque";

console.log(atividade); // Saída: Ficar em casa lendo

Usando em console.log diretamente:

let numero = 10;
console.log(numero % 2 === 0 ? "É par" : "É ímpar"); // Saída: É par

Retornando valores de funções:

function verificarStatus(ativo) {
  return ativo ? "Ativo" : "Inativo";
}

console.log(verificarStatus(true));  // Saída: Ativo
console.log(verificarStatus(false)); // Saída: Inativo

Quando usar o Operador Ternário?

O Operador Ternário é excelente para:

  • Condições simples que resultam na atribuição de um valor a uma variável.
  • Quando você precisa de uma expressão que retorne um de dois valores possíveis.
  • Deixar o código mais conciso e legível para decisões rápidas.

Quando EVITAR o Operador Ternário?

Evite usar o Operador Ternário para:

  • Condições complexas ou aninhadas (um ternário dentro de outro). Isso pode tornar o código muito difícil de ler e entender. Nesses casos, if/else if/else é mais apropriado.
  • Quando você precisa executar múltiplas ações em cada um dos blocos (verdadeiro/falso). O ternário é melhor para retornar um valor, não para executar várias instruções.

Lembre-se: a legibilidade do código é sempre mais importante do que a concisão extrema. Use o ternário com sabedoria!