La estructura de control switch permite ejecutar diferentes bloques de código en función de un valor específico. Es una alternativa a la estructura if-else para casos en los que hay varios valores posibles para una variable y se desea ejecutar diferentes acciones en función de cada valor manteniendo legible el código.
La sintaxis básica de una estructura "switch" es la siguiente:
switch(variable){casevalor1:// código a ejecutar si variable es igual a valor1break;casevalor2:// código a ejecutar si variable es igual a valor2break;default:// código a ejecutar si variable no es igual a ninguno de los valores anteriores}
La variable especificada en el "switch" se compara con cada uno de los casos especificados. Si se encuentra una coincidencia, se ejecutará el código dentro del bloque correspondiente. Es importante notar que se utiliza la palabra clave "break" al final de cada bloque de código para indicar que se debe salir del "switch" una vez que se ha ejecutado el código correspondiente. Si no se incluye "break", el código seguirá ejecutándose en los siguientes casos.
Por ejemplo, el siguiente código imprimirá un mensaje diferente en la consola dependiendo del valor de la variable "dia":
const dia ="lunes";switch(dia){case"lunes":console.log("Hoy es lunes");break;case"martes":console.log("Hoy es martes");break;case"miercoles":console.log("Hoy es miércoles");break;default:console.log("Hoy no es lunes, martes o miércoles");}
En este ejemplo, la variable "dia" tiene un valor de "lunes", por lo que se ejecutará el código dentro del primer bloque y se imprimirá "Hoy es lunes" en la consola. Si la variable "dia" tuviera un valor diferente, como "martes" o "miercoles", se ejecutaría el código dentro del bloque correspondiente y se imprimiría el mensaje correspondiente en la consola. Si la variable "dia" tuviera un valor que no coincide con ninguno de los casos especificados, se ejecutaría el código dentro del bloque "default" y se imprimiría el mensaje "Hoy no es lunes, martes o miércoles" en la consola.
También es posible hacer diferentes validaciones dentro los casos del switch. Por ejemplo:
let numero ="12";switch(true){case numero >100:console.log("El valor es mayor a 100");break;case numero %2===0:console.log("El valor es multiplo de 2");break;default:console.log("El valor no cumple con ninguna de las características");}