logo

Declaració de commutació de JavaScript

El Declaració de commutació de JavaScript avalua una expressió i executa un bloc de codi basat en casos coincidents. Proporciona una alternativa a les llargues cadenes if-else, millorant la llegibilitat i el manteniment, especialment quan es manegen múltiples branques condicionals.

Taula de contingut



Sintaxi de la instrucció de canvi

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> és el valor que voleu comparar.
  • Case value1>,case value2>, etc., representen els possibles valors de laexpression>.
  • break>declaració finalitza elswitch>declaració. Sense ell, l'execució continuarà en el següent cas.
  • Default>especifica el codi que s'executarà si cap dels casos coincideix ambexpression>.

Com funciona la declaració Switch

  • Avaluació : L'expressió dins delswitch>l'enunciat s'avalua una vegada.
  • Comparació : es compara el valor de l'expressió amb cadascunacase>etiqueta (utilitzant una igualtat estricta===>).
  • Execució : Si es troba una coincidència, el bloc de codi corresponent després de la coincidènciacase>s'executa l'etiqueta. Si no es troba cap coincidència, l'execució salta adefault>cas (si està present) o continua amb la següent afirmació després deswitch>bloc.
  • Declaració de trencament : Després d'executar un bloc de codi, elbreak>declaració finalitza elswitch>declaració, evitant que l'execució caigui en casos posteriors. Sibreak>s'omet, l'execució continuarà fins al següent cas (conegut com a caiguda).
  • Cas per defecte : Eldefault>cas és opcional. Si no es troba cap coincidència, el bloc de codi a sotadefault>s'executa.

Diagrama de flux de la declaració Switch

Exemple de declaració de commutació:

Aquí, imprimirem el nom del dia el dia 3.

llista de matrius ordenada en java
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>

Sortida
Wednesday>

Explicació:

  • Day>està configurat a3>.
  • Elswitch>la declaració avaluaday>.
  • Des deday>és3>, elcase 3>el bloc s'executa, assignant'Wednesday'>adayName>.
  • Elbreak>la declaració acabaswitch>declaració, impedint que l'execució continuï en altres casos.

Exemple de declaració de commutació:

Aquí, comprovarem la nostra qualificació utilitzant un cas d'interruptor.



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);>

Sortida
B (Average)>

Explicació:

  • Grade>se li assigna el valor'B'>.
  • Elswitch>declaració avalua el valor degrade>.
  • Des degrade>és'B'>, el bloc de codi següentcase 'B':>s'executa.
  • Elresult>a la variable se li assigna la cadena'B (Average)'>.
  • Elbreak>declaració finalitza laswitch>declaració.
  • result>es registra a la consola, que surt'B (Average)'>.

Trenca paraula clau

Elbreak>la paraula clau s'utilitza per acabar l'execució d'un bucle o aswitch>declaració.

Paraula clau predeterminada

Eldefault>la paraula clau s'utilitza dins d'aswitch>declaració com a opció alternativa quan cap delscase>les expressions coincideixen amb el valor que s'està avaluant. Actua de manera semblant a laelse>declaració en unif...else>cadena, proporcionant una acció predeterminada per fer quan no coincideix cap altre cas específic.

convertir la data de la cadena

La posició del cas predeterminat no importa:

Independentment de la seva ubicació, el cas per defecte només s'executa si no es compleix cap de les altres condicions del cas. Per tant, posar-lo al principi, al mig o al final no canvia la lògica bàsica (tret que utilitzeu una tècnica menys comuna anomenada caiguda).



imprimirem el cas predeterminat.

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);>

Sortida
Invalid day>

Blocs de codi comuns

En alguns casos, hem d'utilitzar el mateix codi per a diversos casos de canvi. Vegem un exemple de com fer-ho:

Blocs de codi comuns Exemple:

Aquí, farem els mateixos blocs de codi per a dos casos de commutació diferents.

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)>

Sortida
Grade is excellent>

Explicació:

  • Grade>se li assigna el valor'A'>.
  • Elswitch>declaració avalua el valor degrade>.
  • Des degrade>partits'A'>, el bloc de codi següentcase 'A':>s'executa, configurantresult>a'Grade is excellent'>.
  • Elbreak>declaració finalitza elswitch>declaració.
  • Result>es registra a la consola, que surt'Grade is excellent'>.

Nota: Si diversos casos de canvi coincideixen amb un valor, s'executa el primer.

convertir int en cadena java