JavaScript switch-erklæring

JavaScript switch-erklæring

Det JavaScript switch-erklæring evaluerer et udtryk og udfører en kodeblok baseret på matchende tilfælde. Det giver et alternativ til lange if-else-kæder, hvilket forbedrer læsbarheden og vedligeholdelsen, især ved håndtering af flere betingede grene.

Indholdsfortegnelse

Skift erklæringssyntaks

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; } 
  • Expression> er den værdi, du vil sammenligne.
  • Case value1> , case value2> osv., repræsenterer de mulige værdier af expression> .
  • break> erklæring afslutter switch> udmelding. Uden den vil eksekveringen fortsætte i næste sag.
  • Default> angiver den kode, der skal køres, hvis ingen af ​​tilfældene matcher expression> .

Hvordan Switch Statement fungerer

  • Evaluering : Udtrykket inde i switch> redegørelsen vurderes én gang.
  • Sammenligning : Værdien af ​​udtrykket sammenlignes med hver case> mærke (ved at bruge streng lighed ===> ).
  • Udførelse : Hvis der findes et match, følger den tilsvarende kodeblok efter matchningen case> etiketten udføres. Hvis der ikke findes noget match, springer udførelsen til default> case (hvis til stede) eller fortsætter med den næste erklæring efter switch> blok.
  • Pauseerklæring : Efter at have udført en kodeblok, vil den break> erklæring afslutter switch> erklæring, hvilket forhindrer, at fuldbyrdelse falder igennem til efterfølgende sager. Hvis break> er udeladt, vil udførelsen fortsætte til næste sag (kendt som gennemfald).
  • Standard sag : Det default> sagen er valgfri. Hvis der ikke findes noget match, kodeblokken under default> er henrettet.

Flowchart af Switch Statement

Eksempel på skifteerklæring:

Her udskriver vi dagens navn 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 

Forklaring:

  • Day> er indstillet til 3> .
  • Det switch> erklæring vurderer day> .
  • Siden day> er 3> , det case 3> blokken udføres, tildeling 'Wednesday'> til dayName> .
  • Det break> erklæring afslutter switch> erklæring, der forhindrer eksekvering i at fortsætte i andre sager.

Eksempel på skifteerklæring:

Her vil vi tjekke vores karakter ved at bruge en afbryderkasse.

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) 

Forklaring:

  • Grade> tildeles værdien 'B'> .
  • Det switch> erklæring vurderer værdien af grade> .
  • Siden grade> er 'B'> , kodeblokken efter case 'B':> er henrettet.
  • Det result> variablen tildeles strengen 'B (Average)'> .
  • Det break> erklæring afslutter switch> udmelding.
  • result> logges til konsollen, som udsender 'B (Average)'> .

Bryd søgeord

Det break> nøgleordet bruges til at afslutte udførelsen af ​​en loop eller en switch> udmelding.

standard søgeord

Det default> søgeordet bruges inden for en switch> erklæring som en reservemulighed, når ingen af ​​de case> udtryk matcher den værdi, der evalueres. Det virker på samme måde som else> erklæring i en if...else> kæde, hvilket giver en standardhandling, der skal udføres, når ingen andre specifikke tilfælde matcher.

Placeringen af ​​standardsagen er ligegyldig:

Uanset dens placering, bliver standardsagen kun eksekveret, hvis ingen af ​​de andre sagsbetingelser er opfyldt. Så at sætte det i begyndelsen, midten eller slutningen ændrer ikke kernelogikken (medmindre du bruger en mindre almindelig teknik kaldet gennemfald).

vi udskriver standardkassen.

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 

Fælles kodeblokke

I nogle tilfælde skal vi bruge den samme kode til flere switch cases. Lad os se et eksempel på, hvordan man gør det:

Almindelige kodeblokke Eksempel:

Her vil vi samme kodeblokke for to forskellige switch cases.

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 

Forklaring:

  • Grade> tildeles værdien 'A'> .
  • Det switch> erklæring vurderer værdien af grade> .
  • Siden grade> Tændstikker 'A'> , kodeblokken efter case 'A':> udføres, indstilling result> til 'Grade is excellent'> .
  • Det break> erklæring afslutter switch> udmelding.
  • Result> logges til konsollen, som udsender 'Grade is excellent'> .

Bemærk: Hvis flere switch cases matcher en værdi, udføres den første.