Institucional

  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status
Institucional
  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status

A Alura

  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes
A Alura
  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes

Conteúdos

  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Conteúdos
  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Alura
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Front-end
    3. O que é if em JavaScript? Aprendendo a usar if e if else em JS

    O que é if em JavaScript? Aprendendo a usar if e if else em JS

    14 min14 minutos de leitura

    14 min14 minutos de leitura

    Publicado: 06/08/2025

    1. O que é if em JavaScript?
    2. Sintaxe da estrutura if
    3. O que são operadores de comparação e operadores lógicos?
    4. O que é If ternário?
    5. Exemplos práticos do uso do if em JavaScript
    6. Boas práticas ao usar if em JavaScript
    7. Alternativas ao `if`
    8. Conclusão

    Se você está começando em JavaScript, ou mesmo se já manja dos paranauês, uma coisa é certa: mais cedo ou mais tarde você vai precisar tomar decisões de código. E pra isso, temos nosso querido if.

    Sim, o famoso "se isso acontecer, faça aquilo". Ele é simples, direto e poderoso. A base do raciocínio condicional em qualquer linguagem.

    Neste artigo, vamos entender o que é o if, como ele funciona no JavaScript, ver exemplos práticos e até explorar outras formas de fazer escolhas no seu código. 

    Tudo isso com explicações claras, exemplos de verdade e, claro, aquele toque de humor pra deixar tudo mais leve.

    Então se ajeita aí na cadeira, separa o café ou o chá, e bora entender de uma vez por todas como o `if` funciona por trás dos panos.

    No final do artigo, você ainda encontra links e exemplos prontos para praticar.

    Partiu? Então vambora!

    O que é if em JavaScript?

    O if em JavaScript é uma estrutura de controle de fluxo. Isso significa que ele permite que o código tome caminhos diferentes, dependendo de uma condição.

    Na prática: você faz uma pergunta (a tal da condição) e se a resposta for verdadeira (ou seja, true), ele executa um bloco de código. Se for falsa (false), ele ignora e segue o baile.

    Pensa assim:

    "Se o guerreiro estiver com mais de 80 de energia, ele pode atacar. Senão... melhor descansar um pouco."

    É isso que o if faz. Ele ajuda o seu programa a tomar decisões com base nos dados que ele tem naquele momento.

    E o mais legal? Ele é super flexível — você pode combinar, encadear, inverter, e até substituir, como vamos ver mais pra frente.

    Mas antes de inventar moda, bora olhar como ele funciona de verdade.

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Sintaxe da estrutura if

    Antes de começarmos a brincar com várias condições e ramificações, a gente precisa dominar o básico: como se escreve um if?

    A boa notícia é que a estrutura é simples, direta e não tem mistério:

    js
    if (condicao) {
      // código executado se a condição for verdadeira
    }

    A lógica aqui é bem parecida com uma conversa do dia a dia: “se o guerreiro tiver energia suficiente, ele vai pra batalha”. Traduzindo pro código:

    js
    const energia = 90
    if (energia > 80) {
      console.log('O guerreiro está pronto para o combate!')
    }

    Se a condição dentro dos parênteses for verdadeira (`energia > 80`), o bloco de código entre as chaves é executado. Se não for… nada acontece. Ele simplesmente pula esse trecho.

    Estrutura if-else

    Agora, se você quiser fazer uma coisa quando a condição for verdadeira e outra quando for falsa, aí entra o else na jogada.

    js
    if (condicao) {
      // verdadeiro
    } else {
      // falso
    }

    Exemplo:

    js
    const energia = 50
    if (energia > 80) {
      console.log('O guerreiro está pronto para o combate!')
    } else {
      console.log('Melhor descansar um pouco...')
    }

    Aqui o guerreiro está meio cansado, então o código entra no else e recomenda uma pausa estratégica.

    Uso do else if

    E quando temos mais de uma possibilidade? Aí usamos o else if pra criar várias bifurcações no caminho:

    js
    const energia = 65
    if (energia > 80) {
      console.log('Pronto para o combate!')
    } else if (energia > 60) {
      console.log('Talvez dê pra uma luta rápida.')
    } else {
      console.log('Melhor não arriscar hoje.')
    }

    O JavaScript vai testando de cima para baixo. Assim que encontrar uma condição verdadeira, ele executa aquele bloco e ignora o resto.

    O que são operadores de comparação e operadores lógicos?

    Show! Já conseguimos escrever um `if`, testar mais de uma condição com `else if`, e ainda ter um plano B com o `else`.

    Mas... o que exatamente a gente coloca dentro dos parênteses do if?

    É aqui que entram os operadores de comparação e os operadores lógicos — os verdadeiros responsáveis por dizer se algo é true ou false.

    Sem eles, o `if` fica sem saber o que decidir. É tipo um guerreiro sem espada: não tem como lutar.

    Para que sevem os operadores de comparação?

    Os operadores de comparação são usados para comparar dois valores e retornar um resultado booleano (verdadeiro ou falso). Olha alguns dos mais usados:

    * `==` → igual solto (compara os valores, mas ignora o tipo)

    * `===` → igual estrito (compara valor e tipo)

    * `!==` → diferente estrito

    * `>` → maior que

    * `<` → menor que

    * `>=` → maior ou igual

    * `<=` → menor ou igual

    Exemplos pra ver na prática:

    js
    5 == '5'     // true (compara só o valor)
    5 === '5'    // false (tipos diferentes: número e string)
    10 != '10'   // false
    10 !== '10'  // true
    7 > 3        // true
    4 <= 4       // true

    **cuidado com o `==`**

    O `==` parece amigo, mas pode causar umas surpresas por fazer conversões automáticas de tipo (chamadas de coerção). 

    Já o `===` é mais chato, mas muito mais seguro, porque só retorna true quando o valor e o tipo batem.

    Então, na dúvida (ou sempre que possível), prefira usar o `===`. É mais previsível e evita bugs esquisitos no futuro.

    E os operadores lógicos? Para que eles servem?

    Agora, às vezes a gente precisa combinar mais de uma condição dentro do mesmo if. Para isso, usamos os operadores lógicos:

    * `&&` → E (as duas condições precisam ser verdadeiras)

    * `||` → OU (basta uma condição ser verdadeira)

    * `!` → NÃO (inverte o valor: true vira false, e vice-versa)

    Olha um exemplo usando `&&`:

    js
    const energia = 90
    const temEspada = true
    if (energia > 80 && temEspada) {
      console.log('O guerreiro está pronto e armado!')
    }

    E com `||`:

    js
    const temEspada = false
    const temArco = true
    if (temEspada || temArco) {
      console.log('O guerreiro tem pelo menos uma arma!')
    }

    E claro, o `!` pra negar uma condição:

    js
    const estaCansado = true
    if (!estaCansado) {
      console.log('Partiu batalha!')
    } else {
      console.log('Melhor tirar um cochilo...')
    }

    Esses operadores deixam nosso código mais expressivo e ajudam a lidar com decisões mais complexas, sem precisar empilhar vários ifs um dentro do outro.

    Truthy e Falsy

    Antes de partir pros exemplos práticos, tem uma parada muito importante que a gente precisa entender: nem tudo em JavaScript é só true ou false no sentido literal. 

    Às vezes, você coloca um valor qualquer dentro do if, e ele se comporta como verdadeiro ou falso. Como assim?

    É aí que entram os conceitos de falsy e truthy.

    O que é o Falsy?

    Valores que o JavaScript considera como falsos numa estrutura condicional, mesmo que não sejam o false literal. São eles:

    • `false`
    • `0`
    • `''` (string vazia)
    • `null`
    • `undefined`
    • `NaN`

    Ou seja:

    js
    if (0) {
      console.log('Isso nunca será exibido')
    }

    O número zero é falsy. Então o bloco não roda.

    O que é Truthy

    Todo o resto! Qualquer valor que não esteja na lista acima é considerado verdadeiro (truthy). Exemplos:

    • `true`
    • `'Hello'`
    • `42`
    • `[]` (array vazio)
    • `{}` (objeto vazio)

    Vejamos um exemplo disso:

    js
    if ('vinny') {
      console.log('Isso aqui será exibido, porque a string não está vazia')
    }

    Mesmo que você não esteja comparando nada, o JavaScript avalia o valor dentro do if e decide se entra no bloco ou não.

    Essa flexibilidade é ótima, mas pode causar umas pegadinhas se você não estiver prestando a atenção. 

    Então, sempre que possível, prefira comparações explícitas, principalmente quando estiver começando.

    Exemplo:

    js
    // Menos claro
    if (nome) {
      // ...
    }
    // Mais claro
    if (nome !== '') {
      // ...
    }

    O que é If ternário?

    Beleza, já estamos mandando bem com o if, else, operadores e tudo mais.

    Mas e quando a gente quer tomar uma decisão simples e rápida, tipo só escolher entre dois valores? Tem uma forma mais curta pra isso.

    Entra em cena o operador ternário — o famoso if de uma linha só.

    A estrutura é essa:

    js
    condicao ? valorSeVerdadeiro : valorSeFalso

    É tipo fazer uma pergunta e já responder direto com duas opções. Um exemplo pra clarear:

    js
    const energia = 90
    const mensagem = energia > 80 ? 'Pronto pro combate!' : 'Melhor descansar...'
    console.log(mensagem)

    Se a condição `energia > 80` for verdadeira, a variável `mensagem` recebe `'Pronto pro combate!'`.

    Se for falsa, recebe `'Melhor descansar...'`. Simples, direto e elegante.

    Quando usar o Ternário?

    O ternário é ótimo quando você precisa escolher entre dois valores, principalmente dentro de uma atribuição. 

    Mas se a lógica começar a ficar complexa ou envolver várias condições, é melhor usar o if tradicional mesmo.

    Evite coisas assim:

    js
    // Não faça isso
    const status =
      nivel === 'admin' ? 'Acesso total' :
      nivel === 'editor' ? 'Acesso limitado à edição' :
      nivel === 'leitor' ? 'Apenas leitura' :
      'Sem acesso'

    Fica difícil de ler, entender e manter. E lembre-se: código limpo vale mais que código curto.

    Exemplos práticos do uso do if em JavaScript

    Agora que a gente já entendeu a teoria, viu a sintaxe, operadores, o tal do ternário e até aqueles valores meio traiçoeiros como '' e undefined...

    Tá na hora de ver tudo isso em ação. Bora para a prática!

    Verificando se um número é positivo:

    js
    const numero = 7
    if (numero > 0) {
      console.log('O número é positivo!')
    }

    Se `numero` for maior que zero, a mensagem aparece. Se não, nada acontece. Verificando se a pessoa pode dirigir:

    js
    const idade = 17
    if (idade >= 18) {
      console.log('Pode tirar a carta!')
    } else {
      console.log('Ainda não pode dirigir.')
    }


    Clássico. Se a pessoa tiver 18 anos ou mais, pode dirigir. Se não, paciência. Escolhendo uma mensagem com ternário:

    js
    const logado = false
    const mensagem = logado
      ? 'Bem-vindo de volta!'
      : 'Faça login para continuar'
    console.log(mensagem)

    Aqui usamos o operador ternário para deixar o código bem enxuto. Combinando múltiplas condições:

    js
    const energia = 75
    const temEspada = true
    if (energia > 70 && temEspada) {
      console.log('O guerreiro está pronto para a batalha!')
    } else {
      console.log('Melhor não arriscar...')
    }

    Essa é a típica situação onde o `if` brilha: avaliando mais de uma coisa ao mesmo tempo.

    Lidando com valores "falsy":

    js
    const nome = ''
    if (!nome) {
      console.log('Por favor, preencha seu nome.')
    }

    Como a `string` vazia é um valor `falsy`, o `if` entra direto e exibe a mensagem.

    Com esses exemplos, já dá pra ter uma boa noção de como o if aparece em várias situações do dia a dia. Desde validações simples até lógicas de negócio mais robustas.

    Boas práticas ao usar if em JavaScript

    Agora que já estamos usando o if com confiança, vale aquela pausa rápida para pensar em como a gente escreve esses blocos no dia a dia.

    Porque sim, dá pra escrever um if que funciona… e ainda assim deixar o código confuso pra quem for ler depois (inclusive você no futuro).

    Aqui vão algumas boas práticas que fazem diferença de verdade:

    1. Use comparações explícitas:

    Evite confiar cegamente em valores truthy ou falsy se isso pode gerar dúvida.

    js
    // Menos claro
    if (user) { ... }
    // Mais claro
    if (user !== undefined && user !== null) { ... }

    Ou ainda melhor, dependendo do contexto:

    js
    if (user?.name) { ... }

    2. Evite if desencessário:

    Se você já tem um valor booleano, não precisa comparar com true ou false:

    js
    // Redundante
    if (ativo === true) { ... }
    // Melhor
    if (ativo) { ... }

    3. Evite aninhamento de ifs:

    Vários if um dentro do outro deixam o código difícil de ler. Sempre que possível, retorne cedo ou use else if.

    js
    // Ruim
    if (usuario) {
      if (usuario.ativo) {
        console.log('Mostrar dashboard')
      }
    }
    // Melhor
    if (!usuario) return
    if (!usuario.ativo) return
    console.log('Mostrar dashboard')

    4. Use ternário só quando for simples:

    A gente ama o ternário, mas só quando ele cabe em uma linha e faz sentido:

    js
    // Ok
    const status = logado ? 'Online' : 'Offline'
    // Evite
    const status = cond1 ? val1 : cond2 ? val2 : cond3 ? val3 : valPadrao

    Esse último aí parece uma charada, não código :) .

    5. Nomes de variáveis que ajudam na leitura:

    Quando a condição é muito complexa, vale extrair para uma variável com um nome descritivo:

    js
    const podeAtacar = energia > 80 && temEspada && !estaCansado
    if (podeAtacar) {
      console.log('Ataque liberado!')
    }

    Fica muito mais fácil entender o que tá rolando.

    No fim das contas, a ideia é simples: escreva o if como se estivesse explicando a lógica pra alguém.

    Alguém que talvez nunca tenha visto esse código antes — e esse alguém pode ser você mesmo daqui a 2 semanas.

    Alternativas ao `if`

    Beleza. O if é super versátil, resolve muita coisa… mas nem sempre é a melhor opção.

    Em algumas situações, existem alternativas que deixam o código mais limpo, mais fácil de manter e até mais performático (dependendo do caso). Vamos ver as principais?

    Quando usar o `switch`?

    Se você tem várias comparações baseadas no mesmo valor, o switch pode ser uma opção mais organizada do que uma sequência de if-else if-else.

    Exemplo clássico:

    js
    const classe = 'guerreiro'
    switch (classe) {
      case 'guerreira':
        console.log('Força e honra!')
        break
      case 'arqueira':
        console.log('Foco e precisão!')
        break
      case 'maga':
        console.log('Sabedoria é poder!')
        break
      default:
        console.log('Classe desconhecida...')
    }

    Aqui, o switch testa o valor de classe e escolhe o bloco correspondente. Bem mais legível do que fazer:

    js
    if (classe === 'guerreiro') { ... }
    else if (classe === 'arqueiro') { ... }
    else if (classe === 'mago') { ... }

    Claro, isso depende do contexto. Se as ações forem muito curtas ou simples, talvez o if ainda seja melhor.

    Lookup Table Pattern

    Agora vem uma alternativa pouco usada por quem está começando, mas que pode deixar o código bem elegante: o famoso Lookup Table.

    A ideia é simples: transformar decisões em um objeto que mapeia chaves para funções ou valores.

    Exemplo:

    js
    const acoesPorClasse = {
      guerreira: () => console.log('Força e honra!'),
      arqueira: () => console.log('Foco e precisão!'),
      maga: () => console.log('Sabedoria é poder!')
    }
    const classe = 'arqueira'
    const acao = acoesPorClasse[classe]
    if (acao) {
      acao()
    } else {
      console.log('Classe desconhecida...')
    }

    Aqui você elimina o if e o switch completamente — e ainda ganha flexibilidade.

    Esse padrão é muito útil quando as opções são dinâmicas, vêm de uma API, ou precisam ser mantidas de forma mais modular.

    Bônus: objetos como Lookup de valores

    Nem sempre você precisa executar uma função. Às vezes só quer retornar um texto ou valor baseado em uma chave. Também dá pra fazer com objetos:

    js
    const mensagens = {
      guerreira: 'Força e honra!',
      arqueira: 'Foco e precisão!',
      maga: 'Sabedoria é poder!'
    }
    const classe = 'maga'
    console.log(mensagens[classe] || 'Classe desconhecida...')

    Mais direto, impossível.

    Conclusão

    Chegamos ao fim dessa jornada pelo universo do `if` — e olha quanta coisa cabe dentro de um simples "se isso, então aquilo".

    A gente começou com a estrutura básica, passou pelos operadores, entendeu o que é `truthy` e `falsy`, deu uma olhada no ternário, viu boas práticas e ainda explorou alternativas como `switch` e o famigerado lookup table.

    Tudo isso pra mostrar que, mesmo sendo uma das primeiras coisas que a gente aprende em JavaScript, o `if` ainda tem muita lenha pra queimar.

    Sério, nunca subestime o básico. Se tem uma coisa que aprendi nos últimos anos foi isso: dominar bem o arroz com feijão é o que te salva nos dias mais caóticos. 

    E entender como tomar decisões no código — de forma clara, limpa e consciente — é parte essencial disso.

    Então se curtiu, compartilha com alguém que tá começando ou que precisa dar aquela reciclada no raciocínio condicional. 

    Tamo junto, e até a próxima!

    Um grande abraço do seu careca barbudo favorito o/

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de Vinicios Neves

    Autor(a)

    Vinicios Neves

    Vinicios Neves, Tech Lead e Educador, mistura código e didática há mais de uma década. Especialista em TypeScript, lidera equipes full-stack em Portugal e inspira futuros desenvolvedores na FIAP e Alura. Com um pé no código e outro no ensino, ele prova que a verdadeira engenharia de software vai além das linhas de código. Além de, claro, ser senior em falar que depende.

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • 15/01/2022

      Como organizar CSS: código mais limpo, flexível e reaproveitável com Flexbox, Grid e mobile-first

      Ler mais
    • 28/03/2021

      i18n no Next.js: como criar sites multilíngues

      Ler mais
    • 17/05/2017

      Como criar um servidor HTTP com KoaJS

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.