logo

Declaración de cambio de JavaScript

El Declaración de cambio de JavaScript evalúa una expresión y ejecuta un bloque de código basado en casos coincidentes. Proporciona una alternativa a las largas cadenas if-else, mejorando la legibilidad y el mantenimiento, especialmente cuando se manejan múltiples ramas condicionales.

Tabla de contenidos

Sintaxis de la declaración de cambio

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> es el valor que desea comparar.
  • Case value1>,case value2>, etc., representan los posibles valores de laexpression>.
  • break>declaración pone fin a laswitch>declaración. Sin él, la ejecución continuará en el siguiente caso.
  • Default>especifica el código que se ejecutará si ninguno de los casos coincide con elexpression>.

Cómo funciona la declaración de cambio

  • Evaluación : La expresión dentro delswitch>la declaración se evalúa una vez.
  • Comparación : El valor de la expresión se compara con cada uno.case>etiqueta (usando igualdad estricta===>).
  • Ejecución : Si se encuentra una coincidencia, el bloque de código correspondiente después de la coincidenciacase>se ejecuta la etiqueta. Si no se encuentra ninguna coincidencia, la ejecución salta aldefault>caso (si está presente) o continúa con la siguiente declaración después de laswitch>bloquear.
  • Declaración de ruptura : Después de ejecutar un bloque de código, elbreak>declaración pone fin a laswitch>declaración, evitando que la ejecución pase a casos posteriores. Sibreak>se omite, la ejecución continuará en el siguiente caso (conocido como fallo).
  • Caso predeterminado : Eldefault>El caso es opcional. Si no se encuentra ninguna coincidencia, el bloque de código debajodefault>es ejecutado.

Diagrama de flujo de la declaración de cambio



látex derivado parcial

Ejemplo de declaración de cambio:

Aquí imprimiremos el nombre del día el día 3.

JavaScript
let day = 3; let dayName; switch (day) {  case 1:  dayName = 'Monday';  break;  case 2:  dayName = 'Tuesday';  break;  case 3:  dayName = 'Wednesday';  break;  case 4:  dayName = 'Thursday';  break;  case 5:  dayName = 'Friday';  break;  case 6:  dayName = 'Saturday';  break;  case 7:  dayName = 'Sunday';  break;  default:  dayName = 'Invalid day'; } console.log(dayName); // Output: Wednesday>

Producción
Wednesday>

Explicación:

  • Day>se establece en3>.
  • Elswitch>declaración evalúaday>.
  • Desdeday>es3>, elcase 3>se ejecuta el bloque, asignando'Wednesday'>adayName>.
  • Elbreak>declaración termina elswitch>declaración, impidiendo que la ejecución continúe en otros casos.

Ejemplo de declaración de cambio:

Aquí, verificaremos nuestra calificación usando una caja de interruptor.

ventana.abrir javascript
JavaScript
let grade = 'B'; let result; switch (grade) {  case 'A':  result = 'A (Excellent)';  break;  case 'B':  result = 'B (Average)';  break;  case 'C':  result = 'C (Below than average)';  break;  default:  result = 'No Grade'; } console.log(result);>

Producción
B (Average)>

Explicación:

  • Grade>se le asigna el valor'B'>.
  • Elswitch>declaración evalúa el valor degrade>.
  • Desdegrade>es'B'>, el bloque de código siguientecase 'B':>es ejecutado.
  • Elresult>a la variable se le asigna la cadena'B (Average)'>.
  • Elbreak>declaración pone fin a laswitch>declaración.
  • result>se registra en la consola, que genera'B (Average)'>.

Romper palabra clave

Elbreak>La palabra clave se utiliza para terminar la ejecución de un bucle o unswitch>declaración.

palabra clave predeterminada

Eldefault>la palabra clave se utiliza dentro de unswitch>declaración como opción alternativa cuando ninguna de lascase>Las expresiones coinciden con el valor que se está evaluando. Actúa de manera similar a laelse>declaración en unif...else>cadena, proporcionando una acción predeterminada a tomar cuando no coinciden otros casos específicos.

La posición del caso de incumplimiento no importa:

Independientemente de su ubicación, el caso predeterminado sólo se ejecuta si no se cumple ninguna de las otras condiciones del caso. Por lo tanto, ponerlo al principio, en el medio o al final no cambia la lógica central (a menos que estés usando una técnica menos común llamada caída).

Imprimiremos el caso predeterminado.

javascript
let day = 8; let dayName; switch (day) {  default:  dayName = 'Invalid day';  break;  case 1:  dayName = 'Monday';  break;  case 2:  dayName = 'Tuesday';  break;  case 3:  dayName = 'Wednesday';  break;  case 4:  dayName = 'Thursday';  break;  case 5:  dayName = 'Friday';  break;  case 6:  dayName = 'Saturday';  break;  case 7:  dayName = 'Sunday';  break;   } console.log(dayName);>

Producción
Invalid day>

Bloques de código comunes

En algunos casos, necesitamos usar el mismo código para múltiples casos de cambio. Veamos un ejemplo de cómo hacerlo:

entero java a cadena

Bloques de código comunes Ejemplo:

Aquí, usaremos los mismos bloques de código para dos casos de cambio diferentes.

JavaScript
let grade = 'A' let result; switch (grade) {  case 'A':  result = 'Grade is excellent'  break;  case 'B':  result = 'Grade is good'  break;  case 'C':  result = 'Grade is Average '  break;  case 'D':  result = 'Grade is Poor'  break;  default:  text = 'NO grades achieved'; } console.log(result)>

Producción
Grade is excellent>

Explicación:

  • Grade>se le asigna el valor'A'>.
  • Elswitch>declaración evalúa el valor degrade>.
  • Desdegrade>partidos'A'>, el bloque de código siguientecase 'A':>se ejecuta, configurandoresult>a'Grade is excellent'>.
  • Elbreak>declaración pone fin a laswitch>declaración.
  • Result>se registra en la consola, que genera'Grade is excellent'>.

Nota: Si varios casos de cambio coinciden con un valor, se ejecuta el primero.