logo

JavaScript-Switch-Anweisung

Der JavaScript-Switch-Anweisung wertet einen Ausdruck aus und führt einen Codeblock basierend auf übereinstimmenden Fällen aus. Es stellt eine Alternative zu langen If-Else-Ketten dar und verbessert die Lesbarkeit und Wartbarkeit, insbesondere bei der Verarbeitung mehrerer bedingter Verzweigungen.

Inhaltsverzeichnis



Syntax der Switch-Anweisung

switch (expression) {  case value1:  // code block 1;  break;  case value2:  // code block 2;  break;  ...  default:  // default code block; }>
  • Expression> ist der Wert, den Sie vergleichen möchten.
  • Case value1>,case value2>usw. stellen die möglichen Werte der darexpression>.
  • break>Anweisung beendet dieswitch>Stellungnahme. Ohne sie wird die Hinrichtung im nächsten Fall fortgesetzt.
  • Default>Gibt den Code an, der ausgeführt werden soll, wenn keiner der Fälle mit dem übereinstimmtexpression>.

So funktioniert die Switch-Anweisung

  • Auswertung : Der Ausdruck innerhalb derswitch>Die Aussage wird einmal ausgewertet.
  • Vergleich : Der Wert des Ausdrucks wird mit jedem verglichencase>Etikett (unter strikter Gleichheit===>).
  • Ausführung : Wenn eine Übereinstimmung gefunden wird, wird der entsprechende Codeblock nach der Übereinstimmung angezeigtcase>Das Etikett wird ausgeführt. Wenn keine Übereinstimmung gefunden wird, springt die Ausführung zumdefault>case (falls vorhanden) oder fährt mit der nächsten Anweisung nach dem fortswitch>Block.
  • Break-Anweisung : Nach der Ausführung eines Codeblocks wird derbreak>Anweisung beendet dieswitch>Anweisung, die verhindert, dass die Ausführung auf nachfolgende Fälle übertragen wird. Wennbreak>wird weggelassen, die Ausführung wird mit dem nächsten Fall fortgesetzt (bekannt als Fall-Through).
  • Standardfall : Derdefault>Groß-/Kleinschreibung ist optional. Wenn keine Übereinstimmung gefunden wird, wird der Codeblock unten angezeigtdefault>wird ausgeführt.

Flussdiagramm der Switch-Anweisung

Beispiel einer Switch-Anweisung:

Hier drucken wir den Tagesnamen am 3. Tag aus.

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>

Ausgabe
Wednesday>

Erläuterung:

  • Day>ist eingestellt auf3>.
  • Derswitch>Aussage wertet ausday>.
  • Seitday>Ist3>, Diecase 3>Der Block wird ausgeführt und zugewiesen'Wednesday'>ZudayName>.
  • Derbreak>Anweisung beendet dieswitch>Anweisung, die verhindert, dass die Ausführung in anderen Fällen fortgesetzt wird.

Beispiel einer Switch-Anweisung:

Hier überprüfen wir unsere Note anhand eines Schaltergehäuses.



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

Ausgabe
B (Average)>

Erläuterung:

  • Grade>wird der Wert zugewiesen'B'>.
  • Derswitch>Die Anweisung wertet den Wert von ausgrade>.
  • Seitgrade>Ist'B'>, der folgende Codeblockcase 'B':>wird ausgeführt.
  • Derresult>Der Variablen wird die Zeichenfolge zugewiesen'B (Average)'>.
  • Derbreak>Anweisung beendet dieswitch>Stellungnahme.
  • result>wird an der Konsole protokolliert, die ausgibt'B (Average)'>.

Schlüsselwort brechen

Derbreak>Das Schlüsselwort wird verwendet, um die Ausführung einer Schleife oder eines zu beendenswitch>Stellungnahme.

Standardschlüsselwort

Derdefault>Das Schlüsselwort wird innerhalb von a verwendetswitch>Anweisung als Fallback-Option, wenn keine davon vorhanden istcase>Ausdrücke stimmen mit dem ausgewerteten Wert überein. Es verhält sich ähnlich wie daselse>Aussage in einemif...else>Kette, die eine Standardaktion bereitstellt, die ausgeführt wird, wenn keine anderen spezifischen Fälle übereinstimmen.

Die Lage des Verzugsfalles spielt keine Rolle:

Unabhängig von seiner Platzierung wird der Standardfall nur ausgeführt, wenn keine der anderen Fallbedingungen erfüllt ist. Wenn Sie es also am Anfang, in der Mitte oder am Ende platzieren, ändert sich nichts an der Kernlogik (es sei denn, Sie verwenden eine weniger verbreitete Technik namens Fall-Through).



Wir drucken den Standardfall.

das schönste Lächeln der Welt
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);>

Ausgabe
Invalid day>

Gemeinsame Codeblöcke

In einigen Fällen müssen wir denselben Code für mehrere Switch-Fälle verwenden. Sehen wir uns ein Beispiel dafür an:

Gemeinsame Codeblöcke Beispiel:

Hier verwenden wir dieselben Codeblöcke für zwei verschiedene Switch-Fälle.

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

Ausgabe
Grade is excellent>

Erläuterung:

  • Grade>wird der Wert zugewiesen'A'>.
  • Derswitch>Die Anweisung wertet den Wert von ausgrade>.
  • Seitgrade>Streichhölzer'A'>, der folgende Codeblockcase 'A':>ausgeführt wird, Einstellungresult>Zu'Grade is excellent'>.
  • Derbreak>Anweisung beendet dieswitch>Stellungnahme.
  • Result>wird an der Konsole protokolliert, die ausgibt'Grade is excellent'>.

Notiz: Wenn mehrere Schalterfälle mit einem Wert übereinstimmen, wird der erste ausgeführt.