Por que laços?
Imagine que você precisa enviar a mesma mensagem para 100 pessoas. Dá pra se ver
copiando e colando 100 console.log? Para tudo: os laços existem justamente
pra isso. Você diz ao computador "repita isto" e ele faz por você, mil vezes se
preciso, sem cansar nem reclamar.
Eles são uma das ferramentas mais poderosas da programação, e daqui pra frente você vai parar de duplicar código de vez.
O laço for
É o laço mais usado quando você sabe quantas vezes quer repetir. Tem três partes entre parênteses, separadas por ponto e vírgula:
for (inicialização; condição; atualização) {
// código que se repete
}
for (let i = 0; i < 5; i++) {
console.log("Volta número", i);
}
O que acontece passo a passo:
- Inicialização (
let i = 0): executa uma vez ao começar. - Condição (
i < 5): é verificada antes de cada volta. Se fortrue, você entra; se forfalse, o laço termina. - O corpo do laço é executado.
- Atualização (
i++): executa ao final de cada volta. - Volta-se ao passo 2.
Por convenção a variável contadora se chama i (de index). Começar em 0 e
usar < faz com que o laço dê exatamente 5 voltas: 0, 1, 2, 3, 4.
⚠️ Cilada clássica: o off-by-one. Começar em
1ou trocar<por<=faz o laço dar uma volta a mais ou a menos. Sempre que algo contar "quase certo" mas errar por um, olhe esses dois detalhes primeiro.
Acumular um resultado
Um dos padrões que você mais vai repetir: uma variável que vive fora do laço e vai crescendo a cada volta. Pense no total de um carrinho de compras que sobe a cada produto. Aqui somamos de 1 a 10:
let soma = 0;
for (let i = 1; i <= 10; i++) {
soma += i;
}
console.log(soma); // 55 (1+2+...+10)
Exemplos
Contar de 0 a 4
for (let i = 0; i < 5; i++) {
console.log("i =", i);
}
Somar os números de 1 a 10
let soma = 0;
for (let i = 1; i <= 10; i++) {
soma += i;
}
console.log("Soma total:", soma);