break y continue
Un bucle puede completar cada vuelta hasta el final — hasta que tú lo diriges. A veces ya tienes la respuesta y quieres parar. A veces un ítem sobra y quieres saltarlo, luego seguir. break sale del bucle al instante. continue salta a la siguiente vuelta. Misma familia de bucles; dos palabras pequeñas cambian la ruta.
¿Qué hace break?
break termina el bucle más cercano ahora. Las vueltas posteriores no se ejecutan. Lo que viene después del bucle en el script sí corre. Piensa: «Ya terminé — sal.» Común al buscar la primera coincidencia sin recorrer el resto.
break frente a continue
📊 Dirigir el bucle a mitad de camino
| Palabra | Efecto | Encaje cotidiano |
|---|---|---|
break |
salir del bucle ahora | encontraste la primera coincidencia; no esperes más |
continue |
saltar el resto de esta vuelta, empezar la siguiente | ignorar un ítem malo; seguir escaneando |
| ninguna | cada vuelta ejecuta el cuerpo completo | todos los ítems necesitan el mismo tratamiento |
| después del bucle | el código bajo el bucle sigue corriendo | break solo sale del bucle, no de todo el script |
Elige break cuando las vueltas posteriores no sirven. Elige continue cuando una vuelta debe callar pero el recorrido debe seguir. No los intercambies — el fallo parece «casi bien» y cuesta verlo.
const nums = [2, 4, 7, 8];
let found = null;
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 7) {
found = nums[i];
break;
}
}
console.log(found);
Para cuando encuentras la coincidencia
El bucle mira 2, luego 4, luego 7. En 7 guarda el valor y hace break. 8 no corre. found es 7. Sin break, el bucle seguiría tras conocer la respuesta.
for (let i = 1; i <= 5; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i);
}
Salta una vuelta y sigue
Cuando i es par, continue salta al siguiente i. La línea console.log se omite en esas vueltas. Ves 1, 3, 5. El bucle no se detuvo — solo pasó por alto los pares.
let n = 1;
while (n < 20) {
if (n === 5) {
break;
}
console.log(n);
n = n + 1;
}
Salir pronto de un while
while seguiría mientras n < 20. En n === 5, break sale. Se imprimió 1–4. Encaja con «seguir hasta una regla de parada, luego salir» sin completar todas las vueltas posibles.
const colors = ["red", "skip", "blue"];
for (const c of colors) {
if (c === "skip") {
continue;
}
console.log(c);
}
Saltar valores en for...of
for...of sigue recorriendo valores. continue ignora "skip" y registra red, luego blue. La idea de dirección es la misma en for, while y for...of — solo el bucle más cercano.
const parts = ["A", "x", "B", "x", "C"];
let msg = "";
for (const p of parts) {
if (p === "x") {
continue;
}
msg = msg + p;
}
console.log(msg);
Filtrar mientras unes
Cada "x" se salta; las letras se añaden. El resultado es ABC. Misma costumbre de unir de lecciones anteriores — continue es la puerta de filtro dentro del recorrido.
Mostrar break y continue en la página
Recorre una lista corta, salta una etiqueta con continue, detente pronto con break tras un marcador, escribe el resultado en la página.
<!DOCTYPE html>
<html>
<head>
<title>break / continue — page</title>
</head>
<body>
<p id="out">…</p>
<script>
const items = ["a", "skip", "b", "stop", "c"];
let line = "";
for (const item of items) {
if (item === "skip") {
continue;
}
if (item === "stop") {
break;
}
line = line + item + " ";
}
let box = document.getElementById("out");
box.textContent = "kept=" + line.trim();
</script>
</body>
</html>
La página muestra kept=a b. Se ignoró "skip"; "stop" cerró el bucle antes de "c". Cambia el array, actualiza y lee la nueva línea. La siguiente lección empieza funciones — bloques reutilizables que llamas por nombre.
Pruébalo tú mismo
- En un
forsobre[3, 9, 1], hazbreakcuando el valor sea9y guárdalo. - Registra solo los impares de
1a6usandocontinueen los pares. - En un
while, para conbreakcuando el contador llegue a3. - Con
for...ofen["ok", "no", "ok"], pasa"no"concontinue. - Une
["1", "-", "2"]en12saltando"-". - En la demo HTML cambia solo el array, actualiza y lee
kept=.
Errores frecuentes
- Creer que
continuesale de todo el bucle (eso esbreak) - Poner más trabajo después de
breaken la misma vuelta — nunca corre - En un
while, usarcontinuesin actualizar el contador antes — riesgo de bucle infinito - Usar
breakcuando solo querías saltar un ítem - Esperar que
breakdeje todo el script — solo sale del bucle más cercano
Resumen
break— salir del bucle ahora; las vueltas posteriores no correncontinue— saltar el resto de esta vuelta; empezar la siguiente- Funciona en
for,whileyfor...of - Buscar suele usar
break; filtrar suele usarcontinue - El código tras el bucle sigue tras
break - Siguiente: funciones — nombra un bloque de trabajo y llámalo
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior