Saltar la navegación

1.5.2.- Bucles.

Dos flechas verdes en círculo.
OpenClipart-Vectors (Pixabay License)

Los bucles son estructuras repetitivas, que se ejecutarán un número de veces fijado expresamente, o que dependerá de si se cumple una determinada condición.

Bucle for.

Este tipo de bucle te deja repetir un bloque de instrucciones un número limitado de veces.

for (expresión inicial; condicion; incremente) {
      sentencias;
}

Primero se ejecuta la expresión inicial o de inicialización. En cada repetición del bucle se evalúa la condición y si ésta evalúa a true, se ejecutan las instrucciones, se ejecuta la sentencia de incremento y se repite el proceso de evaluación, ejecución e incremento hasta que la condición evalúe a false.

let numero = 5;
for (let i = 0; i <= 10; i++) {
      console.log(numero * i);
}

Bucle while.

Este tipo de bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número indefinido de veces, siempre que se cumpla una condición. Es más sencillo de comprender que el bucle for, ya que no incorpora en la misma línea la inicialización de las variables, su condición para seguir ejecutándose y su actualización. Sólo se indica, como veremos a continuación, la condición que se tiene que cumplir para que se realice una iteración o repetición.

while (condicion) {
      sentencias;
}

Se ejecutan las sentencias mientras la condición evalúe a true. Por tanto, dentro de dichas sentencias deberá darse la situación para que en algún momento la condición evalúe a false o de lo contrario estaríamos ante un bucle infinito.

let numero = 5;
let i = 0;
while (i <= 10) {
      console.log(numero * i);
      i++;
}

Bucle do - while.

Este tipo de bucle es la última de las estructuras para implementar repeticiones de las que dispone JavaScript, y es una variación del bucle while visto anteriormente. Se utiliza generalmente, cuando no sabemos el número de veces que se habrá de ejecutar el bucle. Es prácticamente igual que el bucle while, con la diferencia, de que sabemos seguro que el bucle por lo menos se ejecutará una vez.

do {
      sentencias;
} while (condicion);

Al igual que en el caso anterior, siempre debe darse que las sentencias en el algún momento hagan que la condición evalúe a false, para evitar el bucle infinito.

let numero = 5;
let i = 0;
do {
      console.log(numero * i);
      i++;
} while (i <= 10);

También existen otras funciones para recorrer colecciones u objetos iterables que veremos más adelante (foreach, map, filter, reduce, ...).

Autoevaluación

Pregunta 1

Un bucle for es imposible que se convierta en un bucle infinito ya que lleva implícita la sentencia de incremento. ¿Verdadero o falso?