Volver al blog

Toma de decisiones utilizando la sentencia Switch en Javascript

Toma de decisiones utilizando la sentencia Switch en Javascript

Introducción

Las sentencias condicionales son uno de los flujos de control más importantes en cualquier lenguaje de programación. Las utilizamos para dictar el comportamiento de la ejecución ante alguna condición. En Javascript, los bloques condicionales se pueden construir utilizando if, else if, else, y switch sentencias.

La sentencia switch facilita la lectura del flujo de control al tomar la decisión frente a algunos resultados posibles de la expresión. Dependiendo del caso de uso coincidente, se pueden ejecutar uno o más bloques de código. El control switch es similar a la sentencia else if . Sin embargo, switch tiene una sintaxis más legible. También es ideal para escenarios con múltiples resultados posibles.

En este tutorial, nos centraremos en la sentencia switch en Javascript y la implementaremos para construir estructuras de control complejas. También aprenderemos a utilizar las sentencias break , case, y default dentro del bloque switch para dirigir el flujo de control.

Uso de la sentencia Switch

La sentencia switch funciona comparando el valor de una variable con posibles expresiones. Luego, ejecuta el bloque de código que coincide con el resultado. La sintaxis de la sentencia switch no es diferente de la sentencia if . En resumen, la sintaxis de la sentencia switch se escribe como:

A continuación se muestra un ejemplo de la sentencia switch . Tiene dos casos o dos resultados posibles junto con una opción de respaldo especificada por la palabra clave default. Esta opción de respaldo se ejecuta cuando concluye la ejecución o cuando no se encuentra ningún caso coincidente:

El código anterior se ejecuta de la siguiente manera:

  1. Primero, se evalúa la expresión.

  2. A continuación, el resultado de la expresión se compara con el case x. Si el valor coincide, el bloque de código bajo el case x se ejecuta.

  3. Si la expresión no coincide con el case x, entonces se compara con el case y. Si se encuentra una coincidencia, entonces el código del case y se ejecuta.

  4. Finalmente, si ni el case x ni el case y coinciden, entonces el código default se ejecuta y el control sale del bloque switch .

Ejemplo práctico

Para entender la sentencia switch , echemos un vistazo a un ejemplo práctico. Extraeremos el valor del día de la semana para la fecha actual, utilizando el método getDay() del objeto Date de Javascript. Este valor es un número, para el domingo hasta el 6 que corresponde al sábado. Lo evaluaremos frente a los valores para determinar qué día de la semana es:

A continuación, enviaremos este valor a la sentencia switch . La sentencia switch se ejecutará de arriba a abajo para compararla con los casos y determinar qué día de la semana es. Una vez que se encuentra el caso, la instrucción break detendrá el bloque switch para que no continúe evaluando sentencias:

Dependiendo del valor devuelto por el getDate() método, se evaluará con cada uno de los casos, uno a la vez, comenzando desde arriba. El resultado será diferente según el día en que hayas ejecutado el código. El bloque de código predeterminado (default) se coloca para que, si ningún caso coincide, podamos manejar este escenario. Sin embargo, en este código, default nunca se llamará ya que solo hay un número finito de días de la semana.

La instrucción break asegura que una vez que el caso ha coincidido, no se evalúen más casos y el control salga de la instrucción switch. Esto hace que el programa sea más eficiente y rápido.

Evaluación de rangos en Switch

Hasta ahora, hemos estado viendo casos de uso muy simples. Pero puede haber ocasiones en las que sea necesario evaluar un rango de valores en lugar de un solo valor. Podemos hacer esto estableciendo nuestra expresión en true y realizando una operación dentro de cada instrucción case.

Demostremos este caso de uso con la ayuda de un ejemplo. Tomaremos un número y luego lo convertiremos en una calificación utilizando la siguiente categorización:

  • Una calificación de 90 o más es una A

  • Una calificación de 80 a 89 es una B

  • Una calificación de 70 a 79 es una C

  • Una calificación de 60 a 69 es una D

  • Una calificación de 59 o menos es una F

Escribiremos estas instrucciones como instrucciones switch. A continuación se muestra el código para esto:

A diferencia de los ejemplos de código anteriores, aquí hemos establecido la expresión entre paréntesis como true. Por lo tanto, cualquiera que sea la instrucción case que coincida con el valor true, se ejecutará. Al igual que la instrucción else if, se ejecutará la primera instrucción que coincida con el valor especificado. Aquí la salida será B, a pesar de que incluso C y D también coinciden con la expresión.

Casos múltiples

Si desea tener más de un caso con el mismo bloque de código, también es posible. Esto es análogo a la condición o en la instrucción if. En tales escenarios, podemos especificar más de un caso para cada bloque de código.

Para ilustrar este concepto, proporcionaremos un ejemplo con los meses del año. Categorizaremos estos meses en las estaciones de un año. Primero, utilizaremos el nuevo método Date() para encontrar un número correspondiente al mes actual, y aplicarlo a la variable month. El método Date().getMonth() devuelve un número de 0  a 11, siendo 0 enero y el 11 asociado a diciembre.

Categorizaremos utilizando la siguiente especificación:

  • Invierno: enero, febrero y marzo

  • Primavera: abril, mayo y junio

  • Verano: julio, agosto y septiembre

  • Otoño: octubre, noviembre y diciembre

Así es como se verá el código:

Cuando se ejecuta el código anterior, dependiendo del mes, se mostrará el nombre de la estación en la consola.

Conclusión

En este tutorial, demostramos cómo usar la instrucción switch en aplicaciones de Javascript. También aplicamos la instrucción switch a un rango y a múltiples casos junto con la palabra clave default. Si desea obtener más información sobre Javascript, puede consultar los siguientes tutoriales:

¡Feliz programación!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.