Kodokon kodokon.com

Bucles: for, while, for...of

Repite instrucciones sin repetirte a ti mismo gracias a los bucles for, while y for...of.

7 min · 3 preguntas

Abrir esta lección en Kodokon

Imagina tener que mostrar un mensaje de bienvenida para 100 usuarios: copiar la misma línea 100 veces sería tedioso y propenso a errores. Un bucle es una estructura que repite un bloque de instrucciones varias veces. JavaScript ofrece varios bucles; empecemos por el más conocido: el bucle for.

JAVASCRIPT
for (let i = 1; i <= 3; i++) {
  console.log("Round number " + i);
}
// Prints: Round number 1
// Prints: Round number 2
// Prints: Round number 3
Un bucle for que se ejecuta tres veces

La línea for (let i = 1; i <= 3; i++) se lee en tres partes, separadas por punto y coma: el inicio (let i = 1 crea un contador llamado i puesto en 1), la condición (i <= 3: el bucle continúa mientras esto sea verdadero) y el paso (i++ suma 1 a i después de cada vuelta). El bucle se detiene en cuanto la condición se vuelve falsa.

El bucle while es más sencillo: repite su bloque mientras su condición sea verdadera. Lo usas cuando no conoces de antemano el número de repeticiones.

JAVASCRIPT
let batteryLevel = 3;

while (batteryLevel > 0) {
  console.log("Battery: " + batteryLevel);
  batteryLevel = batteryLevel - 1;
}
console.log("Battery empty!");
El bucle se ejecuta mientras batteryLevel sea mayor que 0

Por último, el bucle for...of recorre directamente los valores de una colección, como un array (una lista de valores, que estudiarás en detalle en la lección 5). En cada vuelta, la variable recibe el siguiente valor: no hay ningún contador que gestionar.

JAVASCRIPT
const fruits = ["apple", "banana", "cherry"];

for (const fruit of fruits) {
  console.log(fruit);
}
// Prints: apple, then banana, then cherry
for...of recorre cada valor del array

Prueba de conocimientos

Comprueba que has retenido los puntos clave de esta lección.

  1. ¿Cuántas veces se ejecuta el bloque de for (let i = 0; i < 3; i++)?
    • 2 veces
    • 3 veces
    • 4 veces
  2. ¿Qué bucle recorre directamente los valores de un array, sin contador?
    • for...of
    • while
    • if
  3. ¿Qué ocurre si la condición de un bucle while nunca se vuelve falsa?
    • El bucle se detiene después de 1000 vueltas
    • JavaScript se salta el bucle
    • El bucle se ejecuta para siempre y el programa se bloquea