DevPath · Aprenda a programar ESPTEN

Condicionais

if, else if e else

Seu programa começa a decidir

Até agora seu código era obediente: rodava linha por linha, de cima para baixo, sem reclamar. Os condicionais dão a ele algo novo: o poder de escolher. "Se isto acontecer, faça aquilo; senão, faça outra coisa." É o primeiro passo rumo a um programa que parece ter um pouco de juízo, porque reage diferente dependendo dos dados que recebe.

A estrutura if

const idade = 20;

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

O que vai entre parênteses é uma condição: uma pergunta de sim ou não que é avaliada como true ou false. Se a resposta for true, o bloco entre chaves { } é executado. Se for false, o JavaScript pula e segue em frente.

Adicionar um else

O else é o "e se não...". Ele é executado quando a condição não é satisfeita, assim você cobre os dois caminhos possíveis:

const idade = 15;

if (idade >= 18) {
  console.log("Você pode entrar");
} else {
  console.log("Acesso negado");
}

Várias alternativas: else if

A vida raramente é preto no branco. Quando há mais de dois caminhos, você encadeia else if. O JavaScript verifica as condições de cima para baixo e, assim que encontra uma verdadeira, executa apenas essa e esquece o resto:

const nota = 7;

if (nota >= 9) {
  console.log("Excelente");
} else if (nota >= 7) {
  console.log("Bom");
} else if (nota >= 5) {
  console.log("Aprovado");
} else {
  console.log("Reprovado");
}
// Imprime "Bom"

⚠️ PEGADINHA CLÁSSICA: a ordem das condições. Como o JavaScript fica com a primeira que for verdadeira, se você colocasse nota >= 5 lá no topo, um 10 cairia em "Aprovado" e nunca chegaria a "Excelente"! Um 10 também é maior que 5, claro. Regra de ouro: coloque sempre as condições mais exigentes primeiro e desça a partir daí.

Exemplos

Você deixa entrar no show?

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

Mensagem conforme a nota da prova

const nota = 8;
if (nota >= 9) {
  console.log("Excelente");
} else if (nota >= 5) {
  console.log("Aprovado");
} else {
  console.log("Reprovado");
}
Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
Truthy/falsy e o operador ternário →