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
- Cómo funciona la declaración de cambio
- Diagrama de flujo de la declaración de cambio
- Bloques de código comunes
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 del
switch>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 coincidencia
case>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, el
break>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 : El
default>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>.- El
switch>declaración evalúaday>. - Desde
day>es3>, elcase 3>se ejecuta el bloque, asignando'Wednesday'>adayName>. - El
break>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 javascriptJavaScript
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'>.- El
switch>declaración evalúa el valor degrade>. - Desde
grade>es'B'>, el bloque de código siguientecase 'B':>es ejecutado. - El
result>a la variable se le asigna la cadena'B (Average)'>. - El
break>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'>.- El
switch>declaración evalúa el valor degrade>. - Desde
grade>partidos'A'>, el bloque de código siguientecase 'A':>se ejecuta, configurandoresult>a'Grade is excellent'>. - El
break>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.