DevPath · Aprenda a programar ESPTEN

Laços

while e do...while

O laço while

Às vezes você não sabe quantas voltas vai precisar: só sabe quando parar. Imagine uma contagem regressiva antes de uma decolagem, ou ler mensagens "enquanto houver não lidas". É pra isso que serve o while, que repete enquanto a condição for verdadeira:

let contagem = 3;
while (contagem > 0) {
  console.log("Faltam:", contagem);
  contagem--;
}
console.log("Decolagem! 🚀");

⚠️ Cilada clássica: o laço infinito. Acontece com todo mundo: você esquece o contagem--, a condição nunca chega a false e o programa fica rodando para sempre e trava. Toda vez que escrever um while, pergunte-se: "qual linha faz isto terminar algum dia?".

O laço do...while

É como o while, mas verifica a condição no final. Isso garante que o corpo seja executado ao menos uma vez, mesmo que a condição seja falsa desde o início:

let n = 10;
do {
  console.log("Isto executa uma vez mesmo que n já seja grande");
  n++;
} while (n < 5);

for ou while?

Exemplos

Contagem regressiva com while

let contagem = 3;
while (contagem > 0) {
  console.log(contagem);
  contagem--;
}
console.log("Pronto!");

do...while executa ao menos uma vez

let tentativas = 0;
do {
  console.log("Tentativa", tentativas);
  tentativas++;
} while (tentativas < 3);
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 →
← O laço for clássicofor...of, for...in, break e continue →