Declaración de cambio de JavaScript
La switch
declaración se utiliza para realizar diferentes acciones basadas en diferentes condiciones.
La declaración de cambio de JavaScript
Utilice la switch
instrucción 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 ninguna coincidencia, se ejecuta el bloque de código predeterminado.
Ejemplo
El getDay()
método devuelve el día de la semana como un número entre 0 y 6.
(Domingo=0, Lunes=1, Martes=2 ..)
Este ejemplo usa 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";
}
El resultado del día será:
Saturday
La palabra clave de ruptura
Cuando JavaScript llega a una break
palabra clave, sale del bloque interruptor.
Esto detendrá la ejecución dentro del bloque del interruptor.
No es necesario romper el último caso en un bloque de cambio. El bloque se rompe (termina) allí de todos modos.
Nota: si omite la instrucción break, el siguiente caso se ejecutará incluso si la evaluación no coincide con el caso.
La palabra clave predeterminada
La default
palabra clave especifica el código que se ejecutará si no hay coincidencia de mayúsculas y minúsculas:
Ejemplo
El getDay()
método 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), escriba 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";
}
El resultado del texto será:
Today is Saturday
El default
caso no tiene que ser el último caso en un bloque de cambio:
Ejemplo
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";
}
Si default
no es el último caso en el bloque de cambio, recuerde finalizar el caso predeterminado con un descanso.
Bloques de código comunes
A veces querrá que diferentes casos de interruptores usen 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";
}
Detalles de conmutación
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 una etiqueta predeterminada, el programa continúa con las sentencias posteriores al cambio .
Comparación estricta
Los casos de cambio utilizan una comparación estricta (===).
Los valores deben ser del mismo tipo para que coincidan.
Una comparación estricta solo puede ser verdadera si los operandos son del mismo tipo.
En este ejemplo no habrá ninguna coincidencia para x:
Ejemplo
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}