CAP 03 · LEC 05·Control de flujo

while y do...while: bucles con condición

while repite mientras una condición sea verdadera — ideal cuando no sabes de antemano cuántas iteraciones necesitas. do...while garantiza al menos una ejecución.

● PRINCIPIANTE5 min lectura3 ejerciciospor Fernando Herrera · actualizado mayo de 2026
¿Encontraste un error o algo que mejorar?Editá esta lección en GitHub →

El bucle while

while evalúa la condición antes de cada iteración. Si la condición es falsa desde el inicio, el cuerpo nunca se ejecuta.

let contador = 0; while (contador < 5) { console.log(contador); contador++; } // 0 1 2 3 4 // Ejemplo práctico: procesar hasta vaciar una cola const cola = [1, 2, 3]; while (cola.length > 0) { const item = cola.shift(); // elimina el primero console.log("Procesando:", item); } // Procesando: 1 // Procesando: 2 // Procesando: 3
let contador: number = 0; while (contador < 5) { console.log(contador); contador++; } // 0 1 2 3 4 // Ejemplo práctico: procesar hasta vaciar una cola const cola: number[] = [1, 2, 3]; while (cola.length > 0) { const item = cola.shift(); // elimina el primero console.log("Procesando:", item); } // Procesando: 1 // Procesando: 2 // Procesando: 3
Salida0 1 2 3 4
Bucle infinito

Si la condición nunca se vuelve false, el programa se cuelga. Asegúrate siempre de que el cuerpo del bucle acerque la condición a false.

do...while: al menos una vez

do...while ejecuta el cuerpo primero y luego evalúa la condición. Garantiza al menos una ejecución.

let intentos = 0; do { intentos++; console.log("Intento", intentos); } while (intentos < 3); // Intento 1 // Intento 2 // Intento 3 // La condición empieza en false — pero se ejecuta una vez let n = 10; do { console.log("Se ejecuta una vez:", n); n++; } while (n < 5); // Se ejecuta una vez: 10
SalidaIntento 1 Intento 2 Intento 3

while vs for — cuándo elegir cada uno

for / for...ofwhile
Cuándo usarloNúmero de iteraciones conocido o iterable definidoNúmero de iteraciones desconocido, depende de una condición
EjemplosRecorrer un array, repetir N vecesLeer hasta EOF, esperar conexión, reintentar operaciones
Riesgo de bucle infinitoBajo (el límite está en la declaración)Alto si no se actualiza la condición
Cuándo usar do...while

Úsalo cuando necesites que el cuerpo se ejecute al menos una vez antes de verificar: menús de selección, validación inicial de input, reintentos con respuesta inmediata.

Practica