La estructura do...while
En JavaScript, la estructura do...while es similar a la estructura while, pero con una diferencia clave: en do...while, el bloque de código se ejecuta al menos una vez antes de que se evalúe la condición. Después de ejecutar el bloque de código, se evalúa la condición, y si es true, el bucle se repite; si es false, el bucle se detiene.
1. Cómo funciona do...while? #
El bucle do...while ejecuta primero el bloque de código y luego evalúa la condición. Esto garantiza que el código dentro del bucle se ejecute al menos una vez, independientemente de si la condición es true o false.
Sintaxis básica:
1do { 2 // Código a ejecutar al menos una vez y mientras la condición sea verdadera 3} while (condición);
condición: Es una expresión que se evalúa después de cada iteración. Si estrue, el bucle se repite; si esfalse, el bucle se detiene.
Ejemplo básico #
Supongamos que queremos imprimir los números del 1 al 5 usando un bucle do...while:
1let contador = 1; 2 3do { 4 console.log(contador); 5 contador++; // Incrementa el contador en 1 en cada iteración 6} while (contador <= 5);Salida de consola 1 2 3 4 5
En este ejemplo:
- El bloque de código dentro de
dose ejecuta primero. - Luego, se evalúa la condición
contador <= 5. - Mientras la condición sea
true, el bucle se repite. - Cuando
contadorllega a 6, la condición se convierte enfalse, y el bucle se detiene.
Diferencia entre while y do...while #
La diferencia principal entre while y do...while es el momento en que se evalúa la condición:
- En un bucle
while, la condición se evalúa antes de que se ejecute el bloque de código. Si la condición esfalsedesde el principio, el bloque de código nunca se ejecuta. - En un bucle
do...while, el bloque de código se ejecuta al menos una vez antes de que se evalúe la condición.
Ejemplo comparativo:
1let x = 6; 2 3while (x < 5) { 4 console.log("Esto no se mostrará porque x no es menor que 5"); 5} 6 7do { 8 console.log("Esto se mostrará al menos una vez,"); 9 console.log("incluso si x no es menor que 5"); 10} while (x < 5);Salida de consola Esto se mostrará al menos una vez, incluso si x no es menor que 5
En este ejemplo:
- El bucle
whileno ejecuta su bloque de código porque la condiciónx < 5esfalsedesde el principio. - El bucle
do...whileejecuta su bloque de código una vez, incluso cuando la condición esfalse.
Resumen del tema
Conceptos clave #
- Bucle de Poscondición (
do...while): la condición se evalúa al final de cada ciclo, garantizando un mínimo de una ejecución (1 o más iteraciones). - Sintaxis con Punto y Coma: estructura
do { ... } while (condicion);finalizada formalmente con;. - Casos de Uso Típicos: menús interactivos, solicitudes reiteradas de entrada al usuario y polling donde la primera operación debe ejecutarse antes de validar el resultado.
Qué debes recordar #
La diferencia clave de do...while frente a while es que su bloque siempre se ejecutará al menos una vez, sin importar si la condición es inicialmente falsa.