banner
Heim / Blog / Beherrschen der JavaScript-Switch-Anweisung – SitePoint
Blog

Beherrschen der JavaScript-Switch-Anweisung – SitePoint

Sep 22, 2023Sep 22, 2023

Die JavaScript-Switch-Anweisung ist eine Möglichkeit, Entscheidungen in Ihrem Code basierend auf verschiedenen Bedingungen zu treffen. Es ist eine besser organisierte und prägnantere Alternative zur Verwendung mehrerer if-else-Anweisungen. Die switch-Anweisung wertet einen bestimmten Ausdruck aus, der eine Variable oder ein Wert sein kann, und vergleicht ihn mit mehreren möglichen Fällen. Wenn der Wert des Ausdrucks mit einem der Fälle übereinstimmt, wird der zugehörige Codeblock (eine Reihe von Anweisungen) ausgeführt. Wenn keine Übereinstimmung gefunden wird, kann ein optionaler Standardfall als Fallback ausgeführt werden, d. h. er wird ausgeführt, wenn keiner der anderen Fälle zutrifft.

Hier ist zum Beispiel eine einfache switch-Anweisung, die den Wert einer Variablen namens day überprüft:

Durch die Beherrschung von Switch-Anweisungen können Sie saubereren, effizienteren und besser organisierten JavaScript-Code schreiben und so letztendlich Ihre allgemeinen Programmierkenntnisse verbessern.

switch-Anweisungen beginnen mit dem Schlüsselwort switch, gefolgt von einem Ausdruck in Klammern. Dieser Ausdruck wird mit einer Reihe von Fallbeschriftungen verglichen, die in einem Schalterblock eingeschlossen sind. Jede Fallbezeichnung stellt einen eindeutigen Wert dar, und der Codeblock, der auf den Fall folgt, wird ausgeführt, wenn der Ausdruck mit dem Wert der Fallbezeichnung übereinstimmt. Eine break-Anweisung wird normalerweise verwendet, um den Switch-Block zu verlassen, nachdem ein passender Fall ausgeführt wurde. Dadurch wird sichergestellt, dass nur der vorgesehene Codeblock ausgeführt wird, und ein Durchgreifen auf die nächsten Fälle verhindert wird. Optional kann ein Standardfall eingefügt werden, um eine Fallback-Aktion bereitzustellen, wenn keine der Fallbezeichnungen mit dem Ausdruck übereinstimmt, wodurch eine Antwort für unbekannte Werte sichergestellt wird.

Die switch-Anweisung ist eine Alternative zur Verwendung von if-else-Anweisungen, wenn Sie mehrere Bedingungen verarbeiten müssen. Während if-else-Anweisungen zum Überprüfen einer Reihe von Bedingungen geeignet sind, die als wahr oder falsch ausgedrückt werden können, sind switch-Anweisungen effizienter, wenn es um einen einzelnen Ausdruck geht, der mehrere unterschiedliche Werte annehmen kann. Im Wesentlichen können Switch-Anweisungen Ihren Code sauberer, organisierter und leichter lesbar machen, wenn Sie mehrere verwandte Bedingungen verwalten müssen.

Betrachten Sie beispielsweise die folgende if-else-Struktur:

Die entsprechende switch-Anweisung würde so aussehen:

Die switch-Anweisung bietet eine besser organisierte und lesbarere Möglichkeit, mehrere Bedingungen zu verarbeiten, insbesondere wenn es um eine große Anzahl von Fällen geht. In einer Switch-Anweisung ist der ausgewertete Ausdruck die Variable oder der Wert in den Klammern (in diesem Beispiel die Variablenfarbe).

Sowohl switch als auch if-else lösen ähnliche Probleme und haben je nach Anwendungsfall Vor- und Nachteile. Um Ihnen bei Ihrer Entscheidung zu helfen, habe ich eine einfache switch-Anweisung erstellt:

Die switch-Anweisung stellt zusätzliche Funktionen und Konzepte bereit, mit denen Sie die Leistung, Lesbarkeit und Prägnanz Ihres Codes verbessern können.

Der Standardfall in einer Switch-Anweisung wird ausgeführt, wenn keiner der anderen Fälle mit dem angegebenen Ausdruck übereinstimmt. Es dient als Fallback für den Umgang mit unerwarteten oder unbekannten Werten und stellt sicher, dass eine Antwort bereitgestellt wird, auch wenn keine passende Groß-/Kleinschreibung vorhanden ist.

Das Schlüsselwort break wird in einer Switch-Anweisung verwendet, um den Switch-Block zu verlassen, sobald ein passender Fall gefunden und ausgeführt wurde. Es verhindert, dass der Code die verbleibenden Fälle weiterhin ausführt, und stellt so sicher, dass nur die richtige Ausgabe generiert wird.

Ein Fall kann nicht mehr als eine Bedingung in einer Switch-Anweisung haben. Um mehrere Erkrankungen in einem Fall zu berücksichtigen, sollten Sie die Fall-Through-Technik in Betracht ziehen. Dadurch sparen Sie nicht nur Zeit, sondern stellen auch sicher, dass Sie sich nicht wiederholen.

Ein Fallthrough in einer Switch-Anweisung tritt auf, wenn Sie das Schlüsselwort „break“ in einem Fall absichtlich weglassen, sodass die Codeausführung mit dem/den nächsten Fall(en) fortgesetzt werden kann, bis ein Break auftritt oder das Ende des Switch-Blocks erreicht wird. Dies kann nützlich sein, wenn mehrere Fälle dieselbe Ausgabe oder Aktion verwenden.

Ein häufiger Fehler bei der Verwendung von Switch-Anweisungen besteht darin, nicht nach jedem Fall die Break-Anweisung einzufügen. Dieser Fehler führt zu einem unbeabsichtigten Ausfall, bei dem mehrere Fälle ausgeführt werden, anstatt nur den gewünschten.

Wie man es repariert:Fügen Sie nach jedem Fall eine break-Anweisung hinzu, um ein Durchfallen zu verhindern.

Switch-Anweisungen verwenden einen strikten Vergleich, was beim Vergleich verschiedener Datentypen zu unerwarteten Ergebnissen führen kann. Im folgenden Beispiel ist die Zeichenfolge „2“ nicht gleich der Zahl 2. Diese Gefahr kann dazu führen, dass Ihre Fälle nicht wie beabsichtigt ausgeführt werden.

So beheben Sie das Problem: Berücksichtigen Sie den Typ Ihrer Variablen und denken Sie daran, dass diese streng ausgewertet wird. TypeScript kann hilfreich sein, wenn Sie an größeren Projekten arbeiten.

Eine häufige Gefahr bei Switch-Anweisungen besteht darin, Variablen ohne Blockbereich oder falsche Bereiche zu deklarieren, was dazu führt, dass sie in anderen Fällen zugänglich sind oder Syntaxfehler verursachen. Möglicherweise tritt ein Uncaught SyntaxError: ... auf, wenn Sie versuchen, dieselbe Variable in mehreren Klauseln erneut zu deklarieren.

Die Korrekturen:

Blockieren Sie den Geltungsbereich Ihrer Klauseln:

Da Sie nun wissen, was eine Switch-Anweisung ist, wie sie funktioniert und wann Sie sie verwenden, ist es an der Zeit, mit der Implementierung zu beginnen! Ich hoffe, Ihnen hat dieser Artikel gefallen. Treten Sie uns in der SitePoint-Community bei, wenn Sie Fragen zu diesem Artikel oder zu JavaScript im Allgemeinen haben.

Mark ist der General Manager von SitePoint.com. Er liebt es, über Technologie, Startups, Programmiersprachen und No-Code-Tools zu lesen und zu schreiben.

Große Anzahl von Einzelvariablenbedingungen: Einzelvariablenauswertung: Schnellere Codeausführung: Einfachere Wartung: Standard-Fallback: Komplexe Bedingungen: Bereichsbasierte Bedingungen: Kleine Anzahl von Bedingungen: Nicht konstante Fälle: Auswerten wahrer oder falscher Werte: Frühe Beendigungsbedingungen: Wie man es repariert: