Pular para o conteúdoPedro Farbo
Lição 10 / 1640 min

Tomando Decisões no Código

Tomando Decisões no Código

Programas precisam tomar decisões. "Se isso acontecer, faça aquilo." Vamos aprender condicionais!

A estrutura if

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

Exemplo:

javascript
const idade = 18; if (idade >= 18) {    console.log("Você é maior de idade!");}

if...else

javascript
const idade = 16; if (idade >= 18) {    console.log("Maior de idade");} else {    console.log("Menor de idade");}

if...else if...else

Para múltiplas condições:

javascript
const nota = 75; if (nota >= 90) {    console.log("A - Excelente!");} else if (nota >= 80) {    console.log("B - Muito bom!");} else if (nota >= 70) {    console.log("C - Bom!");} else if (nota >= 60) {    console.log("D - Regular");} else {    console.log("F - Reprovado");}

Condições com operadores lógicos

E (&&) - todas devem ser verdadeiras

javascript
const idade = 25;const temCarteira = true; if (idade >= 18 && temCarteira) {    console.log("Pode dirigir!");}

OU (||) - pelo menos uma verdadeira

javascript
const diaSemana = "sábado"; if (diaSemana === "sábado" || diaSemana === "domingo") {    console.log("É fim de semana!");}

NÃO (!) - inverte a condição

javascript
const chovendo = false; if (!chovendo) {    console.log("Não está chovendo, pode sair!");}

Combinando operadores

javascript
const idade = 25;const temIngresso = true;const listaVIP = false; if ((idade >= 18 && temIngresso) || listaVIP) {    console.log("Pode entrar na festa!");}

Use parênteses para deixar claro a ordem!

Operador ternário

Atalho para if/else simples:

javascript
// Com if/elselet mensagem;if (idade >= 18) {    mensagem = "Maior";} else {    mensagem = "Menor";} // Com ternárioconst mensagem = idade >= 18 ? "Maior" : "Menor";

Sintaxe:

javascript
condição ? valorSeVerdadeiro : valorSeFalso

Mais exemplos:

javascript
const status = logado ? "Online" : "Offline";const desconto = vip ? 0.2 : 0;const saudacao = hora < 12 ? "Bom dia" : "Boa tarde";

switch

Para comparar uma variável com múltiplos valores:

javascript
const diaSemana = 3; switch (diaSemana) {    case 1:        console.log("Segunda");        break;    case 2:        console.log("Terça");        break;    case 3:        console.log("Quarta");        break;    case 4:        console.log("Quinta");        break;    case 5:        console.log("Sexta");        break;    case 6:    case 7:        console.log("Fim de semana!");        break;    default:        console.log("Dia inválido");}

Importante: Não esqueça o break!

Valores truthy e falsy

JavaScript considera alguns valores como "falsos":

javascript
// Valores FALSY (considerados false)if (false)      // falseif (0)          // falseif ("")         // false (string vazia)if (null)       // falseif (undefined)  // falseif (NaN)        // false // Todo o resto é TRUTHY (considerado true)if (true)       // trueif (1)          // trueif ("texto")    // trueif ([])         // true (array vazio!)if ({})         // true (objeto vazio!)

Uso prático:

javascript
const nome = ""; if (nome) {    console.log(`Olá, ${nome}!`);} else {    console.log("Nome não informado");}

Exercício: Verificador de idade

javascript
const nome = prompt("Qual seu nome?");const idade = Number(prompt("Qual sua idade?")); if (!nome) {    console.log("Nome não informado!");} else if (idade < 0 || idade > 150) {    console.log("Idade inválida!");} else if (idade < 13) {    console.log(`${nome}, você é uma criança.`);} else if (idade < 18) {    console.log(`${nome}, você é adolescente.`);} else if (idade < 60) {    console.log(`${nome}, você é adulto.`);} else {    console.log(`${nome}, você é idoso.`);}

Exercício: Calculadora de desconto

javascript
const valorCompra = 250;const clienteVIP = true;let desconto = 0; if (clienteVIP) {    desconto = 0.15; // 15% para VIP} else if (valorCompra >= 200) {    desconto = 0.10; // 10% para compras acima de 200} else if (valorCompra >= 100) {    desconto = 0.05; // 5% para compras acima de 100} const valorDesconto = valorCompra * desconto;const valorFinal = valorCompra - valorDesconto; console.log(`Valor original: R$ ${valorCompra}`);console.log(`Desconto: ${desconto * 100}% (R$ ${valorDesconto})`);console.log(`Valor final: R$ ${valorFinal}`);

Dicas importantes

  1. Sempre use === ao invés de ==

    javascript
    // Ruimif (idade == "18") // true (converte tipos!) // Bomif (idade === "18") // false (tipos diferentes)
  2. Evite condições muito complexas

    javascript
    // Ruimif (a && b || c && !d || e) { } // Bom - quebre em variáveisconst condicao1 = a && b;const condicao2 = c && !d;if (condicao1 || condicao2 || e) { }
  3. Use early return quando possível

    javascript
    function verificarIdade(idade) {    if (idade < 0) {        return "Idade inválida";    }    if (idade < 18) {        return "Menor de idade";    }    return "Maior de idade";}

Resumo

  • if/else para decisões
  • else if para múltiplas condições
  • && (E), || (OU), ! (NÃO)
  • ✅ Operador ternário: condição ? sim : não
  • switch para comparar valores
  • ✅ Valores truthy e falsy

Na próxima aula, vamos aprender loops para repetir código! 🚀

Gostou do conteúdo? Sua contribuição ajuda a manter tudo online e gratuito!

PIX:0737160d-e98f-4a65-8392-5dba70e7ff3e