Declaració de commutació de JavaScript

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 la expression> .
  • break> declaració finalitza el switch> declaració. Sense ell, l'execució continuarà en el següent cas.
  • Default> especifica el codi que s'executarà si cap dels casos coincideix amb expression> .

Com funciona la declaració Switch

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

Diagrama de flux de la declaració Switch

Exemple de declaració de commutació:

Aquí, imprimirem el nom del dia el dia 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 

Sortida
Wednesday 

Explicació:

  • Day> està configurat a 3> .
  • El switch> la declaració avalua day> .
  • Des de day> és 3> , el case 3> el bloc s'executa, assignant 'Wednesday'> a dayName> .
  • El break> la declaració acaba switch> 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'> .
  • El switch> declaració avalua el valor de grade> .
  • Des de grade> és 'B'> , el bloc de codi següent case 'B':> s'executa.
  • El result> a la variable se li assigna la cadena 'B (Average)'> .
  • El break> declaració finalitza la switch> declaració.
  • result> es registra a la consola, que surt 'B (Average)'> .

Trenca paraula clau

El break> la paraula clau s'utilitza per acabar l'execució d'un bucle o a switch> declaració.

Paraula clau predeterminada

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

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'> .
  • El switch> declaració avalua el valor de grade> .
  • Des de grade> partits 'A'> , el bloc de codi següent case 'A':> s'executa, configurant result> a 'Grade is excellent'> .
  • El break> declaració finalitza el switch> 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.