banner
Hogar / Noticias / Dominar la declaración de cambio de JavaScript: SitePoint
Noticias

Dominar la declaración de cambio de JavaScript: SitePoint

May 30, 2023May 30, 2023

La declaración de cambio de JavaScript es una forma de tomar decisiones en su código en función de diferentes condiciones. Es una alternativa más organizada y concisa al uso de múltiples sentencias if-else. La sentencia switch evalúa una expresión dada, que puede ser una variable o un valor, y la compara con varios casos posibles. Si el valor de la expresión coincide con uno de los casos, se ejecuta el bloque de código asociado (un conjunto de instrucciones). Si no se encuentra ninguna coincidencia, se puede ejecutar un caso predeterminado opcional como respaldo, lo que significa que se ejecuta cuando no se aplica ninguno de los otros casos.

Por ejemplo, aquí hay una declaración de cambio simple que verifica el valor de una variable llamada día:

Al dominar las declaraciones de cambio, puede escribir un código JavaScript más limpio, más eficiente y mejor organizado, lo que en última instancia mejora sus habilidades generales de programación.

Las instrucciones switch comienzan con la palabra clave switch, seguida de una expresión entre paréntesis. Esta expresión se compara con una serie de etiquetas de casos encerradas en un bloque de cambio. Cada etiqueta de caso representa un valor distinto, y el bloque de código que sigue al caso se ejecuta cuando la expresión coincide con el valor de la etiqueta de caso. Por lo general, se usa una declaración de interrupción para salir del bloque de conmutación después de que se ejecuta un caso coincidente, lo que garantiza que solo se ejecute el bloque de código deseado y evita fallas en los siguientes casos. Opcionalmente, se puede incluir un caso predeterminado para proporcionar una acción alternativa cuando ninguna de las etiquetas de casos coincida con la expresión, lo que garantiza una respuesta para valores desconocidos.

La sentencia switch es una alternativa al uso de sentencias if-else cuando tiene múltiples condiciones para manejar. Mientras que las declaraciones if-else son adecuadas para verificar una serie de condiciones que se pueden expresar como verdaderas o falsas, las declaraciones de cambio son más eficientes cuando se trata de una sola expresión que puede tomar múltiples valores distintos. En esencia, las declaraciones de cambio pueden hacer que su código sea más limpio, más organizado y más fácil de leer cuando tiene que administrar varias condiciones relacionadas.

Por ejemplo, considere la siguiente estructura if-else:

La declaración de cambio equivalente se vería así:

La declaración de cambio ofrece una forma más organizada y legible de manejar múltiples condiciones, particularmente cuando se trata de una gran cantidad de casos. En una declaración de cambio, la expresión que se evalúa es la variable o el valor dentro de los paréntesis (en este ejemplo, el color de la variable).

Tanto switch como if-else resuelven problemas similares y tienen ventajas y desventajas según sus casos de uso. Para ayudarlo a tomar su decisión, he creado una declaración de cambio simple:

La instrucción switch proporciona funciones y conceptos adicionales que se pueden usar para mejorar el rendimiento, la legibilidad y la concisión de su código.

El caso predeterminado en una declaración de cambio se ejecuta cuando ninguno de los otros casos coincide con la expresión proporcionada. Sirve como respaldo para manejar valores inesperados o desconocidos, asegurando que se proporcione una respuesta incluso si no hay un caso coincidente.

La palabra clave break se usa en una declaración de cambio para salir del bloque de cambio una vez que se encuentra y ejecuta un caso coincidente. Evita que el código continúe ejecutando los casos restantes, lo que garantiza que solo se genere la salida correcta.

Un caso no puede tener más de una condición en una declaración de cambio. Para incorporar múltiples condiciones en un caso, considere usar la técnica de caída. No solo le ahorra tiempo, sino que le asegura que no se repita.

La falla en una declaración de cambio ocurre cuando omite intencionalmente la palabra clave de ruptura en un caso, lo que permite que la ejecución del código continúe con los siguientes casos hasta que se encuentre una ruptura o se alcance el final del bloque de cambio. Esto puede ser útil cuando varios casos comparten el mismo resultado o acción.

Un error frecuente cuando se utilizan sentencias switch es no incluir la sentencia break después de cada caso. Este error da como resultado una falla involuntaria, ejecutando múltiples casos en lugar de solo el deseado.

Como arreglarlo:Agregue una declaración de interrupción después de cada caso para evitar fallas.

Las declaraciones de cambio utilizan una comparación estricta, lo que puede generar resultados inesperados al comparar diferentes tipos de datos. En el ejemplo a continuación, la cadena "2" no es igual al número 2. Este escollo podría hacer que sus casos no se ejecuten según lo previsto.

Cómo solucionarlo: considere el tipo de sus variables y recuerde que se evaluará estrictamente. TypeScript puede ayudar si está trabajando en proyectos más grandes.

Un error común en las sentencias de cambio es declarar variables sin alcance de bloque o alcances incorrectos, lo que hace que sean accesibles en otros casos o crea errores de sintaxis. Puede experimentar un error de sintaxis no detectado: ... si intenta volver a declarar la misma variable en varias cláusulas.

Las correcciones:

Bloquee el alcance de sus cláusulas:

Ahora que sabe qué es una declaración de cambio, cómo funciona y cuándo usarla, ¡es hora de comenzar a implementarla! Espero que hayas disfrutado este artículo. Únase a nosotros en la comunidad de SitePoint si tiene alguna pregunta sobre esta pieza o sobre JavaScript en general.

Mark es el Gerente General de SitePoint.com. Le encanta leer y escribir sobre tecnología, nuevas empresas, lenguajes de programación y herramientas sin código.

Gran cantidad de condiciones de una sola variable: Evaluación de una sola variable: Ejecución de código más rápida: Mantenimiento más fácil: Respaldo predeterminado: Condiciones complejas: Condiciones basadas en rango: Pequeña cantidad de condiciones: Casos no constantes: Evaluación de valores verdaderos o falsos: Condiciones de salida anticipada: Como arreglarlo: