El primer tipo de bucle se denomina bucle while
. Este bucle se caracteriza en que se repite, revisando la condición en cada iteración y sólo se detiene cuando la condición es falsa.
El bucle while es uno de los bucles más simples que podemos crear. Vamos a repasar el siguiente ejemplo y analizar todas sus partes, para luego analizar lo que ocurre en cada iteración del bucle. Empecemos por un fragmento sencillo del bucle:
let i = 0; // Inicialización de la variable contador
// Condición: Mientras la variable contador sea menor de 5
while (i < 5) {
console.log("Valor de i:", i);
i = i + 1; // Incrementamos el valor de i
}
Veamos que es lo que ocurre a la hora de ejecutar este código:
while
, se inicializa la variable i
al valor 0
.i
.i
sumándole 1
a lo que ya teníamos en i
.while
a hacer una nueva iteración.2)
donde comprobamos de nuevo la condición del bucle.Una tarea que suele servir para entender mejor el bucle, es hacer una traza de lo que haría un programa internamente. Esto es ir realizando cada paso, para entenderlo bien.
Veamos una muestra paso a paso de las iteraciones de este ejemplo anterior:
Iteración del bucle | Valor de i | Descripción | Incremento |
---|---|---|---|
Antes de empezar | i = undefined | Antes de comenzar el programa. | |
Iteración #1 | i = 0 | ¿(0 < 5)? Verdadero. Mostramos 0 por pantalla. |
i = 0 + 1 |
Iteración #2 | i = 1 | ¿(1 < 5)? Verdadero. Mostramos 1 por pantalla. |
i = 1 + 1 |
Iteración #3 | i = 2 | ¿(2 < 5)? Verdadero. Mostramos 2 por pantalla. |
i = 2 + 1 |
Iteración #4 | i = 3 | ¿(3 < 5)? Verdadero. Mostramos 3 por pantalla. |
i = 3 + 1 |
Iteración #5 | i = 4 | ¿(4 < 5)? Verdadero. Mostramos 4 por pantalla. |
i = 4 + 1 |
Iteración #6 | i = 5 | ¿(5 < 5)? Falso. Salimos del bucle. |
El bucle while es muy simple, pero requiere no olvidarse accidentalmente de la inicialización y el incremento (además de la condición). Más adelante veremos otro tipo de bucle denominado bucle for
, que tiene una sintaxis diferente y, habitualmente, se suele utilizar más en el día a día.
La operación
i = i + 1
es lo que se suele llamar un incremento de una variable. Es muy común simplificarla comoi++
, que hace exactamente lo mismo: aumenta en 1 su valor.
Existe una variación del bucle while
denominado bucle do while
. La diferencia fundamental, a parte de variar un poco la sintaxis, es que este tipo de bucle siempre se ejecuta una vez, al contrario que el bucle while
que en algún caso podría no ejecutarse nunca.
Para entenderlo bien, antes de ver el bucle do while
vamos a analizar el siguiente ejemplo:
let i = 5;
while (i < 5) {
console.log("Hola a todos");
i = i + 1;
}
console.log("Bucle finalizado");
Observa, que aún teniendo un bucle, este ejemplo nunca mostrará el texto Hola a todos
, puesto que la condición nunca será verdadera, porque ya ha empezado como falsa (i
ya vale 5
desde el inicio). Por lo tanto, nunca se llega a realizar el interior del bucle.
Con el bucle do while
podemos obligar a que siempre se realice el interior del bucle al menos una vez:
let i = 5;
do {
console.log("Hola a todos");
i = i + 1;
} while (i < 5);
console.log("Bucle finalizado");
Observa los siguientes detalles de la variación do while
:
while
desde el principio junto a la condición, escribimos do
.while
con la condición se traslada al final del bucle.Este ejemplo suele ser interesante cuando queremos establecer un bucle pero queremos que siempre se realice una vez, independientemente de si cumple o no la condición.
Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.
Puedes encontrar más sobre mi en Manz.dev