Bucles en JavaScript: repetir sin romper lógica ni rendimiento
Aprende a usar for y while con seguridad, evitar bucles infinitos, recorrer datos reales y construir patrones de acumulación, conteo y filtrado paso a paso.
Un bucle no es “repetir por repetir”: es automatizar trabajo repetitivo con reglas exactas y controladas.
Cuando dominas bucles, pasas de hacer operaciones manuales sobre arrays a procesar cientos de datos con pocas líneas y mucho criterio.
La clave didáctica aquí es entender tres piezas: inicio, condición de salida y actualización. Si una falla, tu flujo se rompe.
Esta lección conecta con [Control de flujo](/curso/javascript/leccion/javascript-control-flujo-basico) y prepara el terreno para [Arrays](/curso/javascript/leccion/javascript-arrays-basico).
- Si hay una tarea repetitiva sobre datos, probablemente necesitas iteración.
- Procesar carritos, recorrer mensajes, sumar ventas diarias, validar inputs o generar reportes: todos estos problemas comparten algo, una secuencia de elementos.
- Si solo necesitas comprobar una condición simple, quizá basta un `if`. Si debes repetir una operación n veces, ahí entra un bucle.
- Si controlas límites e índice, tienes el 80% del problema resuelto.
- El patrón clásico de `for` tiene tres partes: inicialización, condición y actualización. Léelo siempre en ese orden para depurarlo bien.
Cuándo necesitas un bucle (y cuándo no)
Si hay una tarea repetitiva sobre datos, probablemente necesitas iteración.
Procesar carritos, recorrer mensajes, sumar ventas diarias, validar inputs o generar reportes: todos estos problemas comparten algo, una secuencia de elementos.
Si solo necesitas comprobar una condición simple, quizá basta un `if`. Si debes repetir una operación n veces, ahí entra un bucle.
for seguro: patrón base que no falla
Si controlas límites e índice, tienes el 80% del problema resuelto.
El patrón clásico de `for` tiene tres partes: inicialización, condición y actualización. Léelo siempre en ese orden para depurarlo bien.
En arrays, usa `i < array.length` y evita `<=` salvo que realmente necesites incluir la última posición por otro motivo.
- Si aparece `undefined` en consola, revisa límites del índice.
- Si total queda en 0, revisa que el acumulador se actualiza dentro del bucle.
- Nombra bien variables de iteración (`indice`, `valorActual`) cuando el caso sea complejo.
while controlado: útil, pero con disciplina
while es potente, pero exige que actualices estado en cada vuelta.
`while` ejecuta mientras la condición sea verdadera. Si no cambias la variable que participa en esa condición, tendrás bucle infinito.
Piensa en `while` como un proceso “hasta que pase X”: hasta encontrar resultado, hasta agotar intentos, hasta obtener dato válido.
break y continue en escenarios reales
Te ayudan a controlar flujo fino dentro de una iteración.
Usa `break` cuando ya encontraste lo que buscabas y seguir iterando no aporta nada. Esto mejora rendimiento y claridad.
Usa `continue` para saltarte casos no válidos sin meter `if` gigantes dentro del bucle.
Errores típicos en bucles y cómo evitarlos
Los mismos fallos aparecen una y otra vez: detectarlos rápido es parte del nivel pro.
Error 1: off-by-one (`<=` en vez de `<`). Error 2: olvidar incremento/decremento en `while`. Error 3: declarar acumuladores dentro del bucle y reiniciarlos sin querer.
Antes de culpar a JavaScript, imprime índice, valor actual y variable de control. Con esa trazabilidad, el bug suele caer en minutos.