El bucle while
A veces no sabes cuántas vueltas harán falta: solo sabes cuándo parar. Imagina
una cuenta atrás antes de un despegue, o leer mensajes "mientras queden sin
leer". Para eso está while, que repite mientras la condición sea verdadera:
let cuenta = 3;
while (cuenta > 0) {
console.log("Faltan:", cuenta);
cuenta--;
}
console.log("¡Despegue! 🚀");
⚠️ Trampa clásica: el bucle infinito. A todos nos ha pasado: olvidas el
cuenta--y la condición nunca llega a serfalse, así que el programa se queda dando vueltas para siempre y se cuelga. Cada vez que escribas unwhile, pregúntate: "¿qué línea hace que esto termine algún día?".
El bucle do...while
Es como while, pero comprueba la condición al final. Esto garantiza que el
cuerpo se ejecuta al menos una vez, aunque la condición sea falsa desde el
principio:
let n = 10;
do {
console.log("Esto se ejecuta una vez aunque n ya sea grande");
n++;
} while (n < 5);
¿for o while?
for: número de repeticiones conocido (recorrer del 1 al 100).while: repetir hasta que ocurra algo (leer datos hasta que se acaben).do...while: igual quewhile, pero necesitas ejecutar el cuerpo al menos una vez (mostrar un menú y volver a pedirlo).
Ejemplos
Cuenta atrás con while
let cuenta = 3;
while (cuenta > 0) {
console.log(cuenta);
cuenta--;
}
console.log("¡Ya!");
do...while se ejecuta al menos una vez
let intentos = 0;
do {
console.log("Intento", intentos);
intentos++;
} while (intentos < 3);