7.4.1 - Estruturas condicionais
🚀 Aprofundando nas Estruturas Condicionais
🚀 Aprofundando nas Estruturas Condicionais
Agora que você já entende o básico de if, else if e else, vamos explorar outras formas de tomar decisões no JavaScript e entender melhor como essas estruturas funcionam por dentro. 🧠✨
🎯 switch case – Quando há muitas opções
switch case – Quando há muitas opçõesÀs vezes, usamos muitos else if seguidos. O código pode ficar confuso... 😵💫
É aí que o switch entra para salvar o dia! 🦸
🧪 Exemplo: Escolher uma bebida
let bebida = "suco";
switch (bebida) {
case "café":
console.log("Você escolheu café ☕");
break;
case "chá":
console.log("Você escolheu chá 🍵");
break;
case "suco":
console.log("Você escolheu suco 🧃");
break;
default:
console.log("Escolha inválida ❌");
}🧩 O que está acontecendo aqui:
O
switchcomparabebidacom cadacase.Se encontrar uma combinação, executa o código daquele bloco.
O
breakserve para parar a execução quando uma opção já foi atendida.O
defaulté como oelse: é usado quando nenhuma opção bate.
📝 Use switch quando você tiver muitas comparações de igualdade com o mesmo valor.
⚡ Operador Ternário – Tudo em uma linha!
Quer fazer uma verificação rápida? Use o operador ternário!
📌 Forma:
✅ Exemplo:
💡 Ideal para decisões simples. Mas cuidado: não use para lógica complexa.
⚠️ Observação importante: Parênteses são obrigatórios!
Quando usamos if, else if ou while, a condição sempre deve estar entre parênteses ( ).
❌ Exemplo com erro:
💥 Isso não vai funcionar! O JavaScript vai mostrar um erro como:
Uncaught SyntaxError: Unexpected identifier
Isso porque a sintaxe correta exige parênteses para o JavaScript saber onde começa e termina a condição.
✅ Forma correta:
💡 Dica de memória:
Pense nos parênteses como os "ouvidos" da condição. O if só escuta o que está dentro deles! 👂😉
🧠 Como o computador entende as condições?
Quando você escreve:
O computador avalia a condição usando valores booleanos: true (verdadeiro) ou false (falso).
Só quando a condição for true, o bloco dentro do if será executado.
🧩 Observação: Como as condições são "avaliadas"?
Toda condição no if, while, ou outras estruturas parecidas, sempre resulta em true ou false. Isso vale tanto para condições simples quanto para condições compostas com operadores.
🔍 Exemplo 1: Condição simples
📢 Aqui o computador está perguntando:
“20 é maior ou igual a 18?”
A resposta é true ✅
🔗 Exemplo 2: Condição composta com && (E)
&& (E)O computador avalia ambas as condições:
idade ≥ 18? ✅
temRG? ✅
Como ambas são verdadeiras, o resultado da condição completa é true ✅
🔀 Exemplo 3: Condição composta com || (OU)
|| (OU)Basta uma das condições ser verdadeira para que o resultado seja true.
Aqui: RG ❌ mas passaporte ✅ → então a condição geral é verdadeira.
🧠 Lembre-se:
true && true
✅ true
true && false
❌ false
false && false
❌ false
true || true
✅true
true || false
✅true
false || false
❌ false
!true
❌ false
!(idade >= 18) → idade = 20
❌ false
🧪 Isso vale mesmo que a condição seja mais longa:
💡 Dica: Para testar condições, você pode usar o console.log() e ver se o resultado é true ou false. É uma ótima forma de praticar! 🎯
⚠️ Redundância: evite repetir o que não precisa!
Veja este exemplo:
🔁 Redundante! isAluno já é um valor booleano. O ideal seria:
🧼 Deixar o código limpo e direto é sinal de boas práticas!
🔍 Quando usar qual estrutura?
Verificar uma ou duas condições simples
if / else
Verificar várias possibilidades do mesmo valor
switch
Fazer decisão rápida em uma linha
Operador ternário ? :
🚫 Evite switch para verificações com <, > ou !== → nesses casos use if.
🧬 Observação: Condições dentro de condições? Sim! Isso se chama aninhamento
Às vezes, uma decisão depende de outra decisão anterior.
Nesse caso, usamos estruturas condicionais aninhadas, ou seja, um if dentro de outro if. 🪺
🤔 Mas o que isso quer dizer?
É como perguntar:
"Se o aluno passou, ele tirou nota boa ou só o suficiente?"
🔍 Exemplo prático:
🧠 Como o computador lê isso:
Verifica se
nota >= 7Se for verdadeiro, entra no primeiro
ifDentro dele, verifica outra condição (
nota >= 9)Se essa também for verdadeira, imprime a mensagem extra
⚠️ Cuidado com a bagunça!
Muitos if dentro de if podem deixar seu código difícil de entender 😵💫
Olha só este exemplo não recomendado:
✅ Melhorar com lógica clara:
Use operadores lógicos && e comentários para clarear a leitura:
💡 Dica de programador esperto: Sempre que você aninhar condições, se pergunte se não daria pra simplificar com operadores lógicos ou funções auxiliares.
💥 Erros comuns para evitar
❌ Esquecer o
breaknoswitchIsso faz o código "cair" no próximocase.
❌ Usar
=no lugar de===é para atribuir,==é para comparar.
❌ Confundir
==com===Sempre que possível, prefira===, pois compara valor e tipo.
❌ Colocar muita lógica em um ternário Fica difícil de ler! Use
ifpara casos mais complexos.
🛠️ Boas práticas com exemplos reais
✅ Bom exemplo: Código claro e direto
❌ Mau exemplo: Ternário confuso
🧠 Parece legal, mas fica difícil de entender! Prefira usar if aqui.
💪 O poder das estruturas condicionais
Com elas, conseguimos:
Criar sistemas de login 🔐
Definir regras de jogos 🎮
Controlar dispositivos inteligentes 🤖
Personalizar páginas e apps de acordo com o usuário 🌐
Elas são a base da lógica de qualquer sistema! Dominar bem as estruturas condicionais é um superpoder no mundo da programação! 🦸♀️🦸♂️
🎲 Desafio!
Crie um programa que receba o dia da semana (ex: "segunda") e diga se é um dia útil, fim de semana, ou se é um dia inválido.
Dica: use switch, case, default, e evite letras maiúsculas com .toLowerCase().
Atualizado


