Operador ternário (operador condicional) no JavaScript
O operador ternário, também conhecido como operador condicional, é uma forma concisa de escrever uma expressão condicional no JavaScript. Ele é útil para simplificar decisões simples que normalmente seriam feitas com if
e else
.
Sintaxe básica
A sintaxe do operador ternário é a seguinte:
condicao ? expressao1 : expressao2
condicao
: A condição a ser avaliada.expressao1
: O valor retornado se a condição for verdadeira.expressao2
: O valor retornado se a condição for falsa.
Exemplo básico:
let idade = 18
let mensagem = idade >= 18 ? "Você é maior de idade." : "Você é menor de idade."
console.log(mensagem)
Saída:
Você é maior de idade.
Usos comuns do operador ternário
Atribuição de valores
O operador ternário é frequentemente usado para atribuir valores com base em uma condição.
let permissao = true
let status = permissao ? "Acesso permitido" : "Acesso negado"
console.log(status)
Saída:
Acesso permitido
Renderização condicional (em frameworks como React)
O operador ternário é amplamente utilizado em frameworks como React para renderizar componentes condicionalmente.
let logado = false
console.log(logado ? "Bem-vindo de volta!" : "Por favor, faça login.")
Saída:
Por favor, faça login.
Encadeamento de operadores ternários
Você pode encadear operadores ternários para tratar múltiplas condições, mas isso pode prejudicar a legibilidade.
let nota = 85
let resultado = nota >= 90 ? "Excelente" : nota >= 70 ? "Bom" : "Precisa melhorar"
console.log(resultado)
Saída:
Bom
Quando usar o operador ternário ou if
Escolher entre o operador ternário e a estrutura if
depende da complexidade e da legibilidade do código.
Use o operador ternário quando:
- A condição for simples: O operador ternário é ideal para decisões rápidas e claras.
let idade = 18 let mensagem = idade >= 18 ? "Maior de idade" : "Menor de idade" console.log(mensagem)
- Você precisar de uma atribuição direta: O operador ternário é útil para atribuir valores com base em uma condição.
let permissao = true let status = permissao ? "Acesso permitido" : "Acesso negado" console.log(status)
Use if
quando:
- A lógica for complexa: Para condições com múltiplos passos ou aninhamentos,
if
é mais legível.let idade = 18 if (idade >= 18) { console.log("Você é maior de idade.") } else { console.log("Você é menor de idade.") }
- Houver múltiplas condições: Para tratar vários cenários,
if
/else if
é mais adequado.let nota = 85 if (nota >= 90) { console.log("Excelente") } else if (nota >= 70) { console.log("Bom") } else { console.log("Precisa melhorar") }
Resumo
- Prefira o operador ternário para condições simples e claras.
- Use
if
para lógica mais complexa ou quando a legibilidade for uma prioridade.
Com essa abordagem, você pode escolher a melhor ferramenta para cada situação, mantendo seu código limpo e eficiente.
Boas práticas
- Evite encadeamentos complexos: Encadear muitos operadores ternários pode tornar o código difícil de ler. Prefira
if
/else
para condições mais complexas. - Use para condições simples: O operador ternário é ideal para decisões simples e rápidas.
- Priorize a legibilidade: Se o uso do operador ternário comprometer a clareza do código, opte por uma estrutura condicional tradicional.
Com o operador ternário, você pode simplificar expressões condicionais e tornar seu código mais conciso. Experimente usá-lo para decisões simples e veja como ele pode melhorar a legibilidade do seu código!