If e else
Os operadores lógicos deram-lhe um sim/não. A pergunta seguinte: quais linhas devem correr? Se sim, um bloco; se não, outro. Essa escolha é if / else / else if. Já sabe construir um boolean; aqui usa-o para escolher o caminho.
O que faz o if?
O if olha para a condição entre parênteses. Se o valor for truthy, o JavaScript executa o bloco entre chavetas logo a seguir. Se for falsy, esse bloco é ignorado. O else é o caminho de recurso quando o if falhou. O else if acrescenta outra verificação antes do else final.
As palavras-chave num relance
📊 Peças quotidianas de if / else
| Palavra-chave | Leitura quotidiana | Uso típico |
|---|---|---|
if |
se isto passar, corre este bloco | primeira verificação |
else if |
senão, se esta outra verificação passar… | caminhos intermédios |
else |
caso contrário, corre isto | último recurso |
Mantenha a condição clara: uma comparação (age >= 18), uma junção lógica (age >= 18 && score >= 60) ou uma variável boolean nítida. O trabalho desse caminho vai dentro de { … }.
let age = 20;
if (age >= 18) {
console.log("adult");
}
console.log("done");
if só corre quando a verificação passa
Aqui age é 20, logo age >= 18 é true e a Consola imprime adult e depois done. Passe age para 16 e fica só done — o bloco if foi saltado.
A linha após o } de fecho corre normalmente sempre (salvo se sair depois da função). O if não para o programa inteiro; só decide se o seu próprio bloco corre.
let age = 16;
if (age >= 18) {
console.log("adult");
} else {
console.log("under 18");
}
else cobre o outro caminho
Agora a verificação falha; o JavaScript salta o primeiro bloco e executa o else. Vê under 18. Num par simples if / else corre exactamente um ramo — nunca os dois, nunca nenhum.
let score = 75;
if (score >= 90) {
console.log("A");
} else if (score >= 60) {
console.log("pass");
} else {
console.log("retry");
}
else if acrescenta caminhos intermédios
score é 75. A primeira verificação (>= 90) falha. A segunda (>= 60) passa — vê pass e o else final é ignorado. A ordem importa: coloque primeiro as faixas mais estritas quando se sobrepõem.
Três if separados poderiam correr mais do que um bloco. O else if mantém os caminhos exclusivos — após a primeira correspondência, a cadeia para.
let age = 20;
let score = 75;
if (age >= 18 && score >= 60) {
console.log("allowed");
} else {
console.log("blocked");
}
let ready = false;
if (!ready) {
console.log("wait");
}
Ponha verificações reais nos parênteses
A condição pode ser uma comparação, uma expressão lógica ou um boolean invertido. age >= 18 && score >= 60 é true — vê allowed. !ready também é true — vê wait. Construa primeiro o sim/não; depois deixe o if escolher o ramo.
let age = 20;
let label;
if (age >= 18) {
label = "adult";
} else {
label = "under 18";
}
console.log(label);
Dê nome ao resultado do ramo
Por vezes quer uma string (ou número) da escolha, não só um console.log. Atribua label em cada ramo e use-o uma vez depois. Aqui label fica "adult".
Mostre o caminho escolhido na página
Crie uma mensagem curta com if / else e escreva-a na página.
<!DOCTYPE html>
<html>
<head>
<title>If else — page branch</title>
</head>
<body>
<p id="out">…</p>
<script>
let age = 20;
let msg;
if (age >= 18) {
msg = "adult";
} else {
msg = "under 18";
}
let box = document.getElementById("out");
box.textContent = "status=" + msg;
</script>
</body>
</html>
age é 20, a página mostra status=adult. Ponha age a 16, actualize e deverá ver status=under 18. A lição seguinte (switch) escolhe entre vários valores fixos; para portas quotidianas de sim/não, if / else continua a ser a ferramenta.
Experimente você
- Registe
"ok"dentro deif (true)e confirme a impressão. - Use
if/elsecomlet age = 16e imprima"adult"ou"under 18". - Monte uma cadeia
else ifpara faixas descore:A(≥ 90),pass(≥ 60), senãoretry. - Combine
age >= 18 && score >= 60numa condiçãoif. - Guarde uma string
labelcomif/elsee registe-a uma vez. - Na demo HTML mude só
age, actualize e leia o novo textostatus=.
Erros comuns
- Esquecer as chavetas
{ }à volta do corpo do ramo - Escrever
if (age = 18)com um só=(atribuição) em vez de comparação - Colocar
elsesem umifcorrespondente por cima - Vários
ifsoltos quando queria caminhos exclusivoselse if - Verificar faixas pela ordem errada (ex.:
>= 60antes de>= 90)
Resumo
ifexecuta um bloco quando a condição é truthyelsecorre quando esseiffalhouelse ifacrescenta mais caminhos intermédios exclusivos- As condições são normalmente comparações ou expressões lógicas
- Mantenha cada ramo entre chavetas; guarde um rótulo se precisar do resultado depois
- Seguinte: switch — escolher entre vários valores fixos
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo