Condicionais e loops
if/else, switch, os 3 tipos de loop mais comuns e por que for...of substituiu o for clássico na maioria dos casos.
if / else e o operador ternário
const idade = 20;
if (idade >= 18) {
console.log("Maior de idade");
} else {
console.log("Menor de idade");
}
// a mesma coisa, como expressão (útil quando o resultado vira um valor)
const status = idade >= 18 ? "Maior de idade" : "Menor de idade";&& e || fazem mais que "e"/"ou" — curto-circuito
const usuario = null;
// se usuario for null/undefined, && já para e retorna null,
// sem tentar acessar .nome (que quebraria o programa)
usuario && usuario.nome;
// valor padrão — se nome vier vazio/undefined, usa "Visitante"
const nome = usuario?.nome || "Visitante";Os 3 loops que cobrem quase tudo
for...of — percorre VALORES de um array
const frutas = ["maçã", "banana", "uva"];
for (const fruta of frutas) {
console.log(fruta);
}for...in — percorre CHAVES de um objeto
const usuario = { nome: "Ana", idade: 28 };
for (const chave in usuario) {
console.log(chave, usuario[chave]);
}while — repete enquanto a condição for verdadeira
let tentativas = 0;
while (tentativas < 3) {
console.log("Tentativa", tentativas + 1);
tentativas++;
}O for clássico (for (let i = 0; i < arr.length; i++)) ainda existe e funciona, mas for...of é preferido hoje pra percorrer arrays — menos código, menos chance de errar o índice.
Exercício
Escreva um loop que soma todos os números de 1 a 10 e imprime o resultado (55).