¿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.
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 ;:
- Inicialización (
let i = 0): se ejecuta una sola vez, al empezar. - Condición (
i < 5): se revisa antes de cada vuelta; si esfalse, el bucle termina. - 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:
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.
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.
fores ideal cuando sabes cuántas repeticiones necesitas.whilees ideal cuando la repetición depende de una condición variable.- Para recorrer un array, combina
forcon el índiceiyarray.length. - Ten cuidado con los bucles infinitos: siempre asegúrate de que la condición pueda volverse falsa en algún momento.