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
- Com funciona la declaració Switch
- Diagrama de flux de la declaració Switch
- Blocs de codi comuns
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 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 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, el
break>
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 : El
default>
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 javaJavascript
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>
.- El
switch>
la declaració avaluaday>
. - Des de
day>
és3>
, elcase 3>
el bloc s'executa, assignant'Wednesday'>
adayName>
. - El
break>
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'>
.- El
switch>
declaració avalua el valor degrade>
. - Des de
grade>
és'B'>
, el bloc de codi següentcase 'B':>
s'executa. - El
result>
a la variable se li assigna la cadena'B (Average)'>
. - El
break>
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'>
.- El
switch>
declaració avalua el valor degrade>
. - Des de
grade>
partits'A'>
, el bloc de codi següentcase 'A':>
s'executa, configurantresult>
a'Grade is excellent'>
. - El
break>
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