JavaScript Switch Statement

JavaScript Switch Statement

Contenido original de W3Schools


La declaración switch se utiliza para realizar diferentes acciones según diferentes condiciones.


La declaración switch JavaScript

Utilice la instrucción switch para seleccionar uno de los muchos bloques de código que se ejecutarán.

Sintaxis

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Así es como funciona:

  • La expresión de cambio se evalúa una vez.

  • El valor de la expresión se compara con los valores de cada caso.

  • Si hay una coincidencia, se ejecuta el bloque de código asociado.

  • Si no hay coincidencia, se ejecuta el bloque de código predeterminado.

Ejemplo:

El método getDay() devuelve el día de la semana como un número entre 0 y 6.

(Domingo=0, Lunes=1, Martes=2..)

Este ejemplo utiliza el número del día de la semana para calcular el nombre del día de la semana:

switch (new Date().getDay()) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
     day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
}

Ver ejemplo


La palabra clave break

Cuando JavaScript encuentra una palabra clave break, sale del bloque switch.

Esto detendrá la ejecución dentro del bloque switch.

No es necesario romper el último cuerpo en el bloque switch. El bloque se rompe (termina) allí de todos modos.

Nota: Si omites la declaración break, el siguiente caso se ejecutará incluso si la evaluación no coincide con el caso.


La palabra clave default

La palabra clave default especifica el código que se ejecutará si no hay coincidencia de casos:

Ejemplo:

El método getDay() devuelve el día de la semana como un número entre 0 y 6.

Si hoy no es sábado (6) ni domingo (0), escribe un mensaje predeterminado:

switch (new Date().getDay()) {
  case 6:
    text = "Today is Saturday";
    break;
  case 0:
    text = "Today is Sunday";
    break;
  default:
    text = "Looking forward to the Weekend";
}

Ver ejemplo

El caso default no tiene que ser el último caso en un bloque switch:

switch (new Date().getDay()) {
  default:
    text = "Looking forward to the Weekend";
    break;
  case 6:
    text = "Today is Saturday";
    break;
  case 0:
    text = "Today is Sunday";
}

Ver ejemplo

Si el caso default no es el último caso en el bloque switch, recuerde finalizar el caso predeterminado con break.


Bloques de código comunes

A veces querrás que diferentes casos switch utilicen el mismo código.

En este caso de ejemplo, 4 y 5 comparten el mismo bloque de código, y 0 y 6 comparten otro bloque de código:

Ejemplo:

switch (new Date().getDay()) {
  case 4:
  case 5:
    text = "Soon it is Weekend";
    break;
  case 0:
  case 6:
    text = "It is Weekend";
    break;
  default:
    text = "Looking forward to the Weekend";
}

Ver ejemplo


Detalles de switch

Si varios casos coinciden con un valor de caso, se selecciona el primer caso.

Si no se encuentran casos coincidentes, el programa continúa con la etiqueta predeterminada.

Si no se encuentra ninguna etiqueta predeterminada, el programa continúa con las instrucciones posteriores al cambio.


Comparación estricta

Los casos switch utilizan una comparación estricta (===).

Los valores deben ser del mismo tipo para que coincidan.

Una comparación estricta sólo puede ser verdadera si los operandos son del mismo tipo.

En este ejemplo no habrá coincidencia para x:

Ejemplo:

let x = "0";
switch (x) {
  case 0:
    text = "Off";
    break;
  case 1:
    text = "On";
    break;
  default:
    text = "No value found";
}

Ver ejemplo


Traducido con 💚 desde W3Schools.com

Did you find this article valuable?

Support Santos Romero by becoming a sponsor. Any amount is appreciated!