Capítulo 5

Bucles

⏱️ 12 min

¿Por qué usar bucles?

Imagina que quieres imprimir los números del 1 al 5. Podrías escribir cinco console.log seguidos... pero si fueran 1000 números, eso sería imposible de mantener. Para eso existen los bucles: repiten un bloque de código mientras se cumpla una condición.

i < 5
true
console.log(i)
repite
false
fin del bucle

El bucle for

Es el más usado cuando sabes de antemano cuántas veces quieres repetir algo:

for (let i = 0; i < 5; i++) {
  console.log(i);
}
// Imprime: 0, 1, 2, 3, 4

El for tiene tres partes separadas por ;:

  1. Inicialización (let i = 0): se ejecuta una sola vez, al empezar.
  2. Condición (i < 5): se revisa antes de cada vuelta; si es false, el bucle termina.
  3. Incremento (i++): se ejecuta al final de cada vuelta.
📌

i++ es una forma corta de escribir i = i + 1. Suma 1 a la variable en cada vuelta del bucle.

Recorrer un array con for

Un array es una lista de valores guardados en una sola variable. Cada valor ocupa una posición numerada que se llama índice, y los índices empiezan en 0:

const frutas = ["🍎", "🍌", "🍇", "🍓"];un array es una lista ordenada — la posición se llama índice
🍎
0
🍌
1
🍇
2
🍓
3
frutas[0] → 🍎frutas.length → 4frutas[4] → undefined

Ojo: los índices empiezan en 0, así que el último elemento siempre está en frutas[frutas.length - 1].

El for es la herramienta natural para recorrer un array: usas i como índice y avanzas hasta llegar al final de la lista.

const frutas = ["🍎", "🍌", "🍇", "🍓"];

for (let i = 0; i < frutas.length; i++) {
  console.log(frutas[i]);
}
// Imprime: 🍎, 🍌, 🍇, 🍓

Mira la animación paso a paso: fíjate en cómo cambia i, qué casilla del array se ilumina en cada vuelta y qué se va imprimiendo en la consola.

Recorrer un array con for, paso a paso
for (let i = 0; i < frutas.length; i++) {
  console.log(frutas[i]);
}
i = 0Inicialización: let i = 0. Solo ocurre una vez, al empezar.
🍎
0
🍌
1
🍇
2
🍓
3
consola
(todavía no se imprimió nada)
📌

La condición es i < frutas.length y no i <= frutas.length. Como los índices empiezan en 0, el último índice válido es frutas.length - 1.

El bucle while

Se usa cuando no sabes de antemano cuántas veces se va a repetir, solo sabes la condición para seguir repitiendo:

let intentos = 0;

while (intentos < 3) {
  console.log("Intento número " + intentos);
  intentos = intentos + 1;
}

while revisa la condición antes de cada vuelta. Si nunca se vuelve false (por ejemplo, si olvidas actualizar intentos), el bucle se repite para siempre: eso se llama un bucle infinito, y suele "colgar" el programa.

¿for o while?

  • Usa for cuando conoces el número de repeticiones (recorrer una lista de 10 elementos, contar del 1 al 100, etc.).
  • Usa while cuando la repetición depende de una condición que puede cambiar de forma impredecible (seguir pidiendo datos hasta que el usuario escriba algo válido, por ejemplo).

Para recordar

  • Los bucles repiten un bloque de código mientras una condición sea verdadera.
  • for es ideal cuando sabes cuántas repeticiones necesitas.
  • while es ideal cuando la repetición depende de una condición variable.
  • Para recorrer un array, combina for con el índice i y array.length.
  • Ten cuidado con los bucles infinitos: siempre asegúrate de que la condición pueda volverse falsa en algún momento.