La instrucción switch
en JavaScript es una estructura de control que se utiliza para ejecutar diferentes bloques de código según el valor de una expresión. Esto permite escribir código más limpio y estructurado en comparación con una serie de instrucciones if
.
La sintaxis básica de la instrucción switch
es la siguiente:

javascriptswitch (expresion) {
case valor1:
// código a ejecutar si la expresion es igual a valor1
break;
case valor2:
// código a ejecutar si la expresion es igual a valor2
break;
// más casos pueden añadirse según sea necesario
default:
// código a ejecutar si ninguno de los casos anteriores coincide con la expresion
}
Primero, se evalúa la expresión dentro del paréntesis switch
. Luego, el flujo de ejecución se dirige al caso correspondiente que coincida con el valor de la expresión. Si no se encuentra ninguna coincidencia, se ejecuta el bloque default
(opcional).
Es importante destacar que cada caso en una declaración switch
debe finalizar con la palabra clave break
. Esto es crucial para evitar la ejecución de casos adicionales accidentalmente. Si omites break
, la ejecución continuará con el siguiente caso, lo cual puede no ser el comportamiento deseado.
Además de break
, también puedes utilizar return
para salir de una función si estás trabajando dentro de una.
Aquí tienes un ejemplo de cómo se utiliza la instrucción switch
en JavaScript:
javascriptlet diaSemana = 1;
let nombreDia;
switch (diaSemana) {
case 1:
nombreDia = "Lunes";
break;
case 2:
nombreDia = "Martes";
break;
case 3:
nombreDia = "Miércoles";
break;
case 4:
nombreDia = "Jueves";
break;
case 5:
nombreDia = "Viernes";
break;
case 6:
nombreDia = "Sábado";
break;
case 7:
nombreDia = "Domingo";
break;
default:
nombreDia = "Día inválido";
}
console.log("Hoy es " + nombreDia);
En este ejemplo, la variable diaSemana
tiene un valor de 1, lo que significa que es lunes. La instrucción switch
evalúa este valor y asigna el nombre correspondiente del día de la semana a la variable nombreDia
. En este caso, el resultado impreso sería «Hoy es Lunes». Si diaSemana
tuviera un valor de 8, el resultado sería «Día inválido», ya que no hay ningún caso que coincida con ese valor y el bloque default
se ejecutaría.
Más Informaciones
Por supuesto, profundicemos más en la instrucción switch
en JavaScript y exploremos algunos casos de uso adicionales y mejores prácticas.
- Valores de casos múltiples: A veces, queremos ejecutar el mismo bloque de código para varios casos. En lugar de repetir el código, podemos agrupar casos separándolos con comas:
javascriptlet diaSemana = 3;
let mensaje;
switch (diaSemana) {
case 1:
case 2:
case 3:
case 4:
case 5:
mensaje = "Es un día laboral";
break;
case 6:
case 7:
mensaje = "Es fin de semana";
break;
default:
mensaje = "Día inválido";
}
console.log(mensaje);
En este ejemplo, los casos del 1 al 5 comparten el mismo mensaje para indicar que son días laborales, mientras que los casos 6 y 7 comparten un mensaje diferente para indicar que son fin de semana.
- Uso de expresiones complejas: La expresión evaluada en la instrucción
switch
puede ser cualquier expresión válida en JavaScript, incluidas expresiones más complejas:
javascriptlet puntaje = 85;
let calificacion;
switch (true) {
case puntaje >= 90:
calificacion = "A";
break;
case puntaje >= 80:
calificacion = "B";
break;
case puntaje >= 70:
calificacion = "C";
break;
case puntaje >= 60:
calificacion = "D";
break;
default:
calificacion = "F";
}
console.log("La calificación es: " + calificacion);
En este ejemplo, la expresión true
se utiliza en la declaración switch
, y cada caso evalúa si el puntaje es mayor o igual a cierto umbral para asignar una calificación.
- Omitir
break
y uso defall-through
: En algunos casos, puede ser útil omitir la palabra clavebreak
para permitir que la ejecución continúe con el siguiente caso. Esta técnica se conoce como «fall-through». Sin embargo, debe utilizarse con precaución, ya que puede ser propenso a errores si no se maneja correctamente:
javascriptlet numero = 2;
let mensaje = "El número es ";
switch (numero) {
case 1:
mensaje += "uno";
case 2:
mensaje += "dos";
case 3:
mensaje += "tres";
default:
mensaje += " (número no reconocido)";
}
console.log(mensaje);
En este ejemplo, si numero
es 2, el mensaje impreso sería «El número es dos tres (número no reconocido)». Esto se debe a que no hay break
después de los casos 1 y 2, lo que permite que la ejecución «caiga» a través de los casos.
- Uso de
default
: El bloquedefault
es opcional y se ejecutará si no se encuentra ningún caso que coincida con la expresión evaluada. Puede ser útil para manejar valores inesperados o proporcionar una respuesta predeterminada:
javascriptlet color = "verde";
let mensaje;
switch (color) {
case "rojo":
mensaje = "El color es rojo";
break;
case "azul":
mensaje = "El color es azul";
break;
case "verde":
mensaje = "El color es verde";
break;
default:
mensaje = "El color no está reconocido";
}
console.log(mensaje);
Si color
no coincide con ninguno de los casos especificados, se ejecutará el bloque default
.
En resumen, la instrucción switch
en JavaScript es una herramienta poderosa para realizar selecciones múltiples basadas en el valor de una expresión. Se puede utilizar para mejorar la legibilidad y la estructura del código en situaciones donde hay múltiples opciones de ejecución. Sin embargo, es importante usarla con precaución y seguir las mejores prácticas para evitar errores sutiles y difíciles de depurar.