A diferencia del condicional if…else y else if que evalúa una o varias condiciones y ejecuta el código que cumpla con la condición evaluada, la sentencia switch permite evaluar una determinada expresión entre un amplio número de posibilidades.
La sintaxis es la siguiente:
switch (expresion) { case valor1: //Código a ser ejecutado si x === value1 [break;] case valor2: // Código a ser ejecutado si x === value2 [break;] ... case valorN: //Sentencias ejecutadas cuando el resultado de expresion coincide con valorN [break;] default: //Sentencias_def ejecutadas cuando no ocurre una coincidencia con los anteriores casos [break;] }
Cada case, se interpreta como: «si la expresión es igual al valor, ejecuta el siguiente bloque de código». La cláusula default indica lo que se debe ejecutar si ninguno de los casos anteriores son iguales a la expresión. En general, esta cláusula es la última, aunque no necesariamente debe ser así.
La cláusula break asegura que el programa salte fuera del código switch una vez que se ejecute la instrucción coincidente. Esta cláusula es opcional, pero si se omite el programa seguirá con la ejecución en la siguiente instrucción en la declaración de switch, independientemente si esta condición se cumple o no.
Vamos a ver un ejemplo básico del uso de esta estructura para comprender mejor su funcionamiento. En este caso determinaremos que día de la semana es hoy utilizando el método getday(). Cada día tendrá asignado un valor que va de 0 a 6. Así, si el día es domingo (0) se mostrará un mensaje que lo indicará, y si el día es lunes sacará otro mensaje, y así sucesivamente.
var dia;
switch (new Date().getDay()) {
case 0:
dia = "Domingo";
break;
case 1:
dia = "Lunes";
break;
case 2:
dia = "Martes";
break;
case 3:
dia = "Miércoles";
break;
case 4:
dia = "Jueves";
break;
case 5:
dia = "Viernes";
See the Pen Evaluar una expresión con el condicional Switch by simplicitytree (@simplicitytree) on CodePen.
Veamos otro ejemplo en el cual emplearemos la cláusula default. Tal y como te dije al principio, no es obligatorio que esta cláusula se coloque al final:
See the Pen Evaluar una expresión con el condicional Switch (2) by simplicitytree (@simplicitytree) on CodePen.
- TypeScript vs. JavaScript: ¿Cuál es mejor para tus proyectos? - octubre 31, 2024
- Optimización de imágenes: clave para un diseño web eficiente - septiembre 28, 2024
- Objetos en JavaScript - septiembre 21, 2024