JavaScript-bytteerklæring

JavaScript-bytteerklæring

De JavaScript-bytteerklæring evaluerer et uttrykk og kjører en kodeblokk basert på samsvarende tilfeller. Det gir et alternativ til lange if-else-kjeder, og forbedrer lesbarheten og vedlikeholdsevnen, spesielt når du håndterer flere betingede grener.

Innholdsfortegnelse

Bytt erklæringssyntaks

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; } 
  • Expression> er verdien du vil sammenligne.
  • Case value1> , case value2> , etc., representerer de mulige verdiene til expression> .
  • break> uttalelsen avslutter switch> uttalelse. Uten det vil henrettelsen fortsette inn i neste sak.
  • Default> spesifiserer koden som skal kjøres hvis ingen av tilfellene samsvarer med expression> .

Hvordan Switch Statement fungerer

  • Evaluering : Uttrykket inne i switch> uttalelsen vurderes én gang.
  • Sammenligning : Verdien av uttrykket sammenlignes med hver case> merke (ved bruk av streng likhet ===> ).
  • Henrettelse : Hvis et samsvar blir funnet, følger den tilsvarende kodeblokken etter samsvaret case> etiketten utføres. Hvis ingen treff blir funnet, hopper utførelsen til default> sak (hvis tilstede) eller fortsetter med neste uttalelse etter switch> blokkere.
  • Pauseerklæring : Etter å ha utført en kodeblokk, vil break> uttalelse avslutter switch> uttalelse, som forhindrer at utførelse faller gjennom til påfølgende saker. Hvis break> er utelatt, vil utførelsen fortsette til neste sak (kjent som fall-through).
  • Standard sak : Den default> sak er valgfritt. Hvis ingen treff blir funnet, kodeblokken under default> er henrettet.

Flytskjema for brytererklæring

Eksempel på bytteerklæring:

Her vil vi skrive ut dagsnavnet 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 

Produksjon
Wednesday 

Forklaring:

  • Day> er satt til 3> .
  • De switch> uttalelse vurderer day> .
  • Siden day> er 3> , den case 3> blokken utføres, tilordning 'Wednesday'> til dayName> .
  • De break> uttalelsen avslutter switch> uttalelse, og hindrer at henrettelsen fortsetter inn i andre saker.

Eksempel på bytteerklæring:

Her vil vi sjekke karakteren vår ved å bruke en bryterboks.

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

Produksjon
B (Average) 

Forklaring:

  • Grade> er tildelt verdien 'B'> .
  • De switch> uttalelse evaluerer verdien av grade> .
  • Siden grade> er 'B'> , kodeblokken som følger case 'B':> er henrettet.
  • De result> variabelen er tildelt strengen 'B (Average)'> .
  • De break> uttalelsen avslutter switch> uttalelse.
  • result> logges til konsollen, som sender ut 'B (Average)'> .

Bryt søkeord

De break> nøkkelordet brukes til å avslutte utførelsen av en loop eller en switch> uttalelse.

standard søkeord

De default> nøkkelordet brukes innenfor en switch> uttalelse som et reservealternativ når ingen av de case> uttrykk samsvarer med verdien som evalueres. Den fungerer på samme måte som else> uttalelse i en if...else> kjede, og gir en standardhandling som skal utføres når ingen andre spesifikke tilfeller samsvarer.

Plassering av standard sak spiller ingen rolle:

Uavhengig av plasseringen, blir standardsaken kun utført hvis ingen av de andre saksbetingelsene er oppfylt. Så å sette det i begynnelsen, midten eller slutten endrer ikke kjernelogikken (med mindre du bruker en mindre vanlig teknikk som kalles fall-through).

vi vil skrive ut standardsaken.

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

Produksjon
Invalid day 

Vanlige kodeblokker

I noen tilfeller må vi bruke samme kode for flere brytertilfeller. La oss se et eksempel på hvordan du gjør det:

Vanlige kodeblokker Eksempel:

Her vil vi ha samme kodeblokker for to forskjellige brytertilfeller.

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) 

Produksjon
Grade is excellent 

Forklaring:

  • Grade> er tildelt verdien 'A'> .
  • De switch> uttalelse evaluerer verdien av grade> .
  • Siden grade> fyrstikker 'A'> , kodeblokken som følger case 'A':> er utført, innstilling result> til 'Grade is excellent'> .
  • De break> uttalelse avslutter switch> uttalelse.
  • Result> logges til konsollen, som sender ut 'Grade is excellent'> .

Merk: Hvis flere byttetilfeller samsvarer med en verdi, utføres den første.