JavaScript-switchverklaring

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 de expression> .
  • break> verklaring beëindigt de switch> 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 de expression> .

Hoe Switch-verklaring werkt

  • Evaluatie : De uitdrukking binnen de switch> de stelling wordt één keer geëvalueerd.
  • Vergelijking : De waarde van de uitdrukking wordt met elk vergeleken case> label (met behulp van strikte gelijkheid ===> ).
  • Executie : Als er een match wordt gevonden, volgt het bijbehorende codeblok na de matching case> het label wordt uitgevoerd. Als er geen overeenkomst wordt gevonden, springt de uitvoering naar de default> geval (indien aanwezig) of gaat verder met de volgende verklaring na de switch> blok.
  • Break-verklaring : Na het uitvoeren van een codeblok wordt de break> verklaring beëindigt de switch> verklaring, waardoor wordt voorkomen dat de executie doorschuift naar volgende zaken. Als break> wordt weggelaten, gaat de uitvoering door naar de volgende zaak (bekend als fall-through).
  • Standaardzaak : De default> geval is optioneel. Als er geen overeenkomst wordt gevonden, wordt het codeblok hieronder weergegeven default> 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 op 3> .
  • De switch> verklaring evalueert day> .
  • Sinds day> is 3> , de case 3> het blok wordt uitgevoerd en toegewezen 'Wednesday'> naar dayName> .
  • De break> verklaring eindigt de switch> 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'> .
  • De switch> verklaring evalueert de waarde van grade> .
  • Sinds grade> is 'B'> , het codeblok volgt case 'B':> is geëxecuteerd.
  • De result> aan de variabele wordt de string toegewezen 'B (Average)'> .
  • De break> verklaring beëindigt de switch> stelling.
  • result> wordt geregistreerd op de console, die wordt uitgevoerd 'B (Average)'> .

Zoekwoord breken

De break> het sleutelwoord wordt gebruikt om de uitvoering van een lus of a te beëindigen switch> stelling.

standaard trefwoord

De default> het trefwoord wordt gebruikt binnen a switch> statement als een terugvaloptie wanneer geen van de case> expressies komen overeen met de waarde die wordt geëvalueerd. Het werkt op dezelfde manier als de else> verklaring in een if...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'> .
  • De switch> verklaring evalueert de waarde van grade> .
  • Sinds grade> wedstrijden 'A'> , het codeblok volgt case 'A':> wordt uitgevoerd, instelling result> naar 'Grade is excellent'> .
  • De break> verklaring beëindigt de switch> 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.