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:
condição: É a expressão que será avaliada. Ela deve resultar emtrue(verdadeiro) oufalse(falso).?: Este é o operador ternário em si, que separa a condição do que acontece se ela for verdadeira.valor_se_verdadeiro: É o valor ou a expressão que será retornada/executada se acondiçãofortrue.:: Este é o separador entre o que acontece se a condição for verdadeira e o que acontece se for falsa.valor_se_falso: É o valor ou a expressão que será retornada/executada se acondiçãoforfalse.
É 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!