Laços de repetição while: repetindo enquanto uma condição for verdadeira
Entenda como repetir um bloco de código enquanto uma determinada condição for atendida.
O laço while é uma estrutura de repetição usada quando queremos executar um bloco de código várias vezes, desde que uma condição seja verdadeira. Uma forma simples de imaginar isso é pensar em uma torneira enchendo um balde: enquanto o balde não estiver cheio, a água continua caindo. Quando a condição muda (o balde enche), a ação para. No JavaScript, funciona da mesma forma: enquanto a condição for verdadeira, o código dentro do while continua sendo executado.
A estrutura básica é esta:
while (condicao) {
// código que será repetido
}
O JavaScript sempre faz duas etapas: primeiro ele verifica a condição, depois executa o bloco se a condição for verdadeira. Se a condição já começar falsa, o bloco nem chega a rodar.
Veja um exemplo simples de contagem:
let contador = 1;
while (contador <= 5) {
console.log("Número:", contador);
contador++;
}
Nesse caso, a variável contador começa com valor 1. Enquanto contador for menor ou igual a 5, o código imprime o número no console. Ao final de cada repetição, contador aumenta em 1 com contador++. Quando chega em 6, a condição contador <= 5 vira falsa e o laço termina.
O while é muito útil quando não sabemos exatamente quantas vezes algo vai repetir. Por exemplo, podemos usar while para continuar pedindo uma informação até que ela seja válida, para processar itens de uma fila até ela acabar ou para repetir uma ação enquanto um status continuar ativo.
Também é importante ter cuidado com o chamado loop infinito. Isso acontece quando a condição nunca se torna falsa. Um exemplo clássico é esquecer de atualizar a variável de controle dentro do laço:
let x = 1;
while (x <= 5) {
console.log(x);
}
Esse código não para, porque x nunca muda de valor. Para evitar esse problema, sempre verifique se existe alguma atualização dentro do laço que faça a condição evoluir para falsa em algum momento.
Em resumo, o while é ideal para repetições baseadas em condição. Ele traz flexibilidade, especialmente em situações em que o número de repetições não é fixo desde o início. A regra de ouro é simples: condição clara, variável de controle bem definida e atualização garantida dentro do bloco.