JavaScript-växlingsförklaring

JavaScript-växlingsförklaring

De JavaScript switch-sats utvärderar ett uttryck och exekverar ett kodblock baserat på matchande fall. Det ger ett alternativ till långa if-else-kedjor, vilket förbättrar läsbarheten och underhållsbarheten, särskilt när du hanterar flera villkorade grenar.

Innehållsförteckning

Byt uttalande syntax

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; } 
  • Expression> är värdet som du vill jämföra.
  • Case value1> , case value2> , etc. representerar de möjliga värdena för expression> .
  • break> uttalande avslutar switch> påstående. Utan det kommer avrättningen att fortsätta till nästa fall.
  • Default> anger koden som ska köras om inget av fallen matchar expression> .

Hur Switch Statement fungerar

  • Utvärdering : Uttrycket inuti switch> påståendet utvärderas en gång.
  • Jämförelse : Värdet på uttrycket jämförs med varje case> etikett (med strikt jämlikhet ===> ).
  • Avrättning : Om en matchning hittas, motsvarande kodblock efter matchningen case> etiketten exekveras. Om ingen matchning hittas, hoppar exekveringen till default> fall (om det finns) eller fortsätter med nästa påstående efter switch> blockera.
  • Paus uttalande : Efter exekvering av ett kodblock, break> uttalande avslutar switch> uttalande, vilket förhindrar att verkställigheten faller igenom till efterföljande fall. Om break> utelämnas, kommer exekveringen att fortsätta till nästa fall (känd som fall-through).
  • Standardfall : Den default> fall är valfritt. Om ingen matchning hittas, kodblocket under default> avrättas.

Flödesschema för Switch Statement

Exempel på byte:

Här kommer vi att skriva ut dagens namn på dag 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 

Produktion
Wednesday 

Förklaring:

  • Day> är satt till 3> .
  • De switch> uttalande utvärderar day> .
  • Eftersom day> är 3> , den case 3> blocket exekveras, tilldelning 'Wednesday'> till dayName> .
  • De break> uttalande avslutar switch> uttalande, vilket förhindrar att verkställigheten fortsätter i andra fall.

Exempel på byte:

Här kommer vi att kontrollera vårt betyg med hjälp av ett växelhus.

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

Produktion
B (Average) 

Förklaring:

  • Grade> tilldelas värdet 'B'> .
  • De switch> uttalande utvärderar värdet av grade> .
  • Eftersom grade> är 'B'> , kodblocket efter case 'B':> avrättas.
  • De result> variabeln tilldelas strängen 'B (Average)'> .
  • De break> uttalande avslutar switch> påstående.
  • result> loggas till konsolen, som matar ut 'B (Average)'> .

Bryt nyckelord

De break> nyckelordet används för att avsluta exekveringen av en loop eller en switch> påstående.

standardsökord

De default> nyckelordet används inom en switch> uttalande som ett reservalternativ när ingen av de case> uttryck matchar värdet som utvärderas. Det fungerar på samma sätt som else> uttalande i en if...else> kedja, vilket ger en standardåtgärd att vidta när inga andra specifika fall matchar.

Placeringen av standardfallet spelar ingen roll:

Oavsett dess placering exekveras standardfallet endast om inget av de andra ärendevillkoren är uppfyllda. Så att sätta det i början, mitten eller slutet ändrar inte kärnlogiken (såvida du inte använder en mindre vanlig teknik som kallas genomgång).

vi kommer att skriva ut standardfallet.

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

Produktion
Invalid day 

Vanliga kodblock

I vissa fall måste vi använda samma kod för flera växelfall. Låt oss se ett exempel på hur man gör det:

Vanliga kodblock Exempel:

Här kommer vi att använda samma kodblock för två olika kopplingsfall.

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) 

Produktion
Grade is excellent 

Förklaring:

  • Grade> tilldelas värdet 'A'> .
  • De switch> uttalande utvärderar värdet av grade> .
  • Eftersom grade> tändstickor 'A'> , kodblocket efter case 'A':> exekveras, inställning result> till 'Grade is excellent'> .
  • De break> uttalande avslutar switch> påstående.
  • Result> loggas till konsolen, som matar ut 'Grade is excellent'> .

Notera: Om flera switchfall matchar ett värde, exekveras det första.