Operador ternário (operador condicional) no JavaScript

Controle de Fluxo / Tutorial 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:

  1. 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)
    
  2. 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:

  1. 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.")
    }
    
  2. 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

  1. 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.
  2. Use para condições simples: O operador ternário é ideal para decisões simples e rápidas.
  3. 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!