logo

JavaScript-switchverklaring

De JavaScript-switch-instructie evalueert een expressie en voert een codeblok uit op basis van overeenkomende gevallen. Het biedt een alternatief voor lange if-else-ketens, waardoor de leesbaarheid en onderhoudbaarheid worden verbeterd, vooral bij het verwerken van meerdere voorwaardelijke vertakkingen.

Inhoudsopgave



Syntaxis van instructie wijzigen

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> is de waarde die u wilt vergelijken.
  • Case value1>,case value2>, enz. vertegenwoordigen de mogelijke waarden van deexpression>.
  • break>verklaring beëindigt deswitch>stelling. Zonder dit zal de executie doorgaan in de volgende zaak.
  • Default>specificeert de code die moet worden uitgevoerd als geen van de gevallen overeenkomt met deexpression>.

Hoe Switch-verklaring werkt

  • Evaluatie : De uitdrukking binnen deswitch>de stelling wordt één keer geëvalueerd.
  • Vergelijking : De waarde van de uitdrukking wordt met elk vergelekencase>label (met behulp van strikte gelijkheid===>).
  • Executie : Als er een match wordt gevonden, volgt het bijbehorende codeblok na de matchingcase>het label wordt uitgevoerd. Als er geen overeenkomst wordt gevonden, springt de uitvoering naar dedefault>geval (indien aanwezig) of gaat verder met de volgende verklaring na deswitch>blok.
  • Break-verklaring : Na het uitvoeren van een codeblok wordt debreak>verklaring beëindigt deswitch>verklaring, waardoor wordt voorkomen dat de executie doorschuift naar volgende zaken. Alsbreak>wordt weggelaten, gaat de uitvoering door naar de volgende zaak (bekend als fall-through).
  • Standaardzaak : Dedefault>geval is optioneel. Als er geen overeenkomst wordt gevonden, wordt het codeblok hieronder weergegevendefault>is geëxecuteerd.

Stroomdiagram van de Switch-verklaring

Voorbeeld van schakelverklaring:

Hier printen we de dagnaam op 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>

Uitvoer
Wednesday>

Uitleg:

  • Day>ingesteld op3>.
  • Deswitch>verklaring evalueertday>.
  • Sindsday>is3>, decase 3>het blok wordt uitgevoerd en toegewezen'Wednesday'>naardayName>.
  • Debreak>verklaring eindigt deswitch>verklaring, waardoor wordt voorkomen dat de executie in andere zaken wordt voortgezet.

Voorbeeld van schakelverklaring:

Hier zullen we ons cijfer controleren met behulp van een schakelkast.



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

Uitvoer
B (Average)>

Uitleg:

  • Grade>krijgt de waarde toegewezen'B'>.
  • Deswitch>verklaring evalueert de waarde vangrade>.
  • Sindsgrade>is'B'>, het codeblok volgtcase 'B':>is geëxecuteerd.
  • Deresult>aan de variabele wordt de string toegewezen'B (Average)'>.
  • Debreak>verklaring beëindigt deswitch>stelling.
  • result>wordt geregistreerd op de console, die wordt uitgevoerd'B (Average)'>.

Zoekwoord breken

Debreak>het sleutelwoord wordt gebruikt om de uitvoering van een lus of a te beëindigenswitch>stelling.

uitzonderingen die Java afhandelen

standaard trefwoord

Dedefault>het trefwoord wordt gebruikt binnen aswitch>statement als een terugvaloptie wanneer geen van decase>expressies komen overeen met de waarde die wordt geëvalueerd. Het werkt op dezelfde manier als deelse>verklaring in eenif...else>keten, die een standaardactie biedt die moet worden ondernomen als er geen andere specifieke gevallen overeenkomen.

De positie van de standaardzaak doet er niet toe:

Ongeacht de plaatsing wordt de standaardzaak alleen uitgevoerd als aan geen van de andere zaakvoorwaarden is voldaan. Dus als je het aan het begin, midden of einde plaatst, verandert de kernlogica niet (tenzij je een minder gebruikelijke techniek gebruikt die fall-through wordt genoemd).



wij printen het standaard hoesje.

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

Uitvoer
Invalid day>

Gemeenschappelijke codeblokken

In sommige gevallen moeten we dezelfde code gebruiken voor meerdere schakelgevallen. Laten we een voorbeeld bekijken van hoe u dit kunt doen:

Gemeenschappelijke codeblokken Voorbeeld:

Hier gebruiken we dezelfde codeblokken voor twee verschillende schakelkasten.

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

Uitvoer
Grade is excellent>

Uitleg:

  • Grade>krijgt de waarde toegewezen'A'>.
  • Deswitch>verklaring evalueert de waarde vangrade>.
  • Sindsgrade>wedstrijden'A'>, het codeblok volgtcase 'A':>wordt uitgevoerd, instellingresult>naar'Grade is excellent'>.
  • Debreak>verklaring beëindigt deswitch>stelling.
  • Result>wordt geregistreerd op de console, die wordt uitgevoerd'Grade is excellent'>.

Opmerking: Als meerdere schakelgevallen overeenkomen met een waarde, wordt de eerste uitgevoerd.