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
- So funktioniert die Switch-Anweisung
- Flussdiagramm der Switch-Anweisung
- Gemeinsame Codeblöcke
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 der
switch>Die Aussage wird einmal ausgewertet. - Vergleich : Der Wert des Ausdrucks wird mit jedem verglichen
case>Etikett (unter strikter Gleichheit===>). - Ausführung : Wenn eine Übereinstimmung gefunden wird, wird der entsprechende Codeblock nach der Übereinstimmung angezeigt
case>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 der
break>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 : Der
default>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>.- Der
switch>Aussage wertet ausday>. - Seit
day>Ist3>, Diecase 3>Der Block wird ausgeführt und zugewiesen'Wednesday'>ZudayName>. - Der
break>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'>.- Der
switch>Die Anweisung wertet den Wert von ausgrade>. - Seit
grade>Ist'B'>, der folgende Codeblockcase 'B':>wird ausgeführt. - Der
result>Der Variablen wird die Zeichenfolge zugewiesen'B (Average)'>. - Der
break>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 WeltJavaScript
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'>.- Der
switch>Die Anweisung wertet den Wert von ausgrade>. - Seit
grade>Streichhölzer'A'>, der folgende Codeblockcase 'A':>ausgeführt wird, Einstellungresult>Zu'Grade is excellent'>. - Der
break>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.