Break y Continue en JavaScript

Break y Continue en JavaScript

En este apartado hablaremos de las instrucciones break y continue, veremos cómo trabajan y como pueden afectar las estructuras iterativas en JavaScript.

Las instrucciones break y continue nos permite tener aun mas el control sobre los bucles en JavaScript, porque aparte de inicializarlos, condicionarlos, y terminarlos cuando cumplan su tarea, vamos a tener la posibilidad de saltar iteraciones o aun detenerlos en plena ejecución. veamos:

  • Continue: Esta rompe u omite la iteración actual en un ciclo si se produce una condición especificada, y continúa con la siguiente iteración en el ciclo.
  • Break: Esta instrucción finaliza, rompe (detiene) completamente la ejecución de un ciclo.

break

La declaración break nos da un control detallado sobre la ejecución del código en un bucle, pues esta termina el ciclo inmediatamente y pasa el control sobre la siguiente instrucción después del ciclo. Veamos un ejemplo:

for (var i = 1; i <= 10; i++){
  if (i == 5) {
    break;
  }
  console.log(i);
}
console.log("Fuera del bloque!");
"1"
"2"
"3"
"4"
"Fuera del bloque!"

En el ejemplo vemos que aunque la condición de la estructura for establece que ejecute el bloque siempre y cuando el valor de la variable i sea menor o igual a 10, sin embargo solo lo hace hasta 4 y sale del bucle, esto es porque se ejecuta la condición if dentro del bloque, si el valor de i es igual a 5 este detiene inmediatamente la ejecución después de probar que i == 5.

Cabe recordar que la instrucción break también la utilizamos para terminar una rama de caso la estructura condicional switch.

continue

La instrucción continue es similar a break en que detiene la ejecución de un bucle en el punto donde se encuentra, pero en lugar de abandonar el bucle, comienza la ejecución en la siguiente iteración. Esta la podemos utilizar en las estructuras for, do-while, o while. Veamos el siguiente ejemplo :

for (var i = 1; i <= 10; i++){
  if (i % 2 == 1) {
    continue;
  }
  console.log(i);
}
console.log("Fuera del bloque!");
"2"
"4"
"6"
"8"
"10"
"Fuera del bloque!"

En el ejemplo anterior verificamos si el valor de i es un número impar, de ser así, se detiene la ejecución actual saltando a la próxima iteración, es por eso que el resultado en consola son solo números pares.

Vamos con el siguiente ejemplo donde iteramos sobre un string y determinando cuantas (s) tiene este:

var s = 'instrucción continue en Javascript.';
var contador = 0;
for (var i = 0; i < s.length; i++) {
    if (s.charAt(i) != 's') {
        continue;
    }
    contador++;
}
console.log("En el string hay: " + contador + " s");
"En el string hay: 2 s"

Lo que hicimos fue iterar sobre el string s, si el caracter actual (ciclo iterado) no es una “s” se salta el resto del ciclo y examina el siguiente caracter del string, en caso de que el caracter actual sea “s”, la estructura incrementa la variable de contador, y finalmente mostramos el resultado final en consola.


En conclusión: Usamos esta instrucciones para afectar el flujo normal de una estructura iterativa que se encuentre en ejecución: break da terminación al ciclo diciéndole al intérprete que vaya a la siguiente instrucción de código fuera del ciclo, y continue solo finaliza la ejecución de la iteración actual en el ciclo.

avatar