Während meiner Programmiertage in JavaScript habe ich ständig darüber diskutiert, ob ich einen switch case oder eine if else Anweisung für meine Bedingung verwenden soll. Also habe ich natürlich beschlossen, einen Blog zu schreiben, um die Unterschiede abzuwägen (für mich & Sie) und zu sehen, welcher unter bestimmten Umständen besser ist.
Eine switch-Anweisung ist normalerweise effizienter als eine Reihe verschachtelter ifs. Wenn Sie auswählen müssen, welche verwendet werden soll, basiert dies auf der Lesbarkeit und dem Ausdruck, den die Anweisung testet.
Grundsätzlich wird ein if else verwendet, um Entscheidungen zu treffen, während eine switch-Anweisung verwendet wird, um den Wert der angegebenen Variablen anhand einer Liste von Fallwerten zu testen.
- Der Ausdruck innerhalb einer if-Anweisung entscheidet, ob die Anweisungen innerhalb des if-Blocks oder unter dem else-Block ausgeführt werden. Für switch entscheidet der Ausdruck innerhalb der switch-Anweisung, welcher Fall ausgeführt werden soll.
- Die if-else-Anweisung prüft sowohl auf Gleichheit als auch auf logischen Ausdruck. Auf der anderen Seite prüft switch nur auf Gleichheit.
- Die if-Anweisung wertet Integer-, Zeichen-, Zeiger- oder Gleitkommatyp oder booleschen Typ aus. Auf der anderen Seite wertet switch Anweisung nur Zeichen oder einen ganzzahligen Datentyp.
- Sequenz der Ausführung ist wie entweder Anweisung unter if-Block ausgeführt wird oder Anweisungen unter else-Block-Anweisung ausgeführt wird. Der Ausdruck in der switch-Anweisung entscheidet jedoch, welcher Fall ausgeführt werden soll, und wenn Sie nach jedem Fall keine break-Anweisung anwenden, wird sie bis zum Ende der switch-Anweisung ausgeführt.
- Wenn sich bei einer if-else-Anweisung herausstellt, dass der Ausdruck innerhalb des if falsch ist, wird die Anweisung innerhalb des else-Blocks ausgeführt. Wenn sich für die switch-Anweisung herausstellt, dass der Ausdruck in der switch-Anweisung falsch ist, werden die Standardanweisungen ausgeführt.
- Es ist bekannt, dass es schwierig ist, if-else-Anweisungen zu bearbeiten, da es mühsam ist, zu verfolgen, wo die Korrektur erforderlich ist. Viele Leute sind sich einig, dass es viel einfacher ist, Switch-Anweisungen zu bearbeiten, da sie leicht zu verfolgen sind.
Hier ist das allgemeine Layout einer if-else-Anweisung für den Switch-Fall:
Dies ist die allgemeine Syntax einer if-else-Anweisung:
Und dies ist die allgemeine Syntax für switch:
Die if-else-Leiter ist vom Typ strict condition check , während switch vom Typ jump value catching ist.
Einige wichtige Vorteile der if-else-Leiter:
- Eine switch-Anweisung funktioniert viel schneller als eine äquivalente if-else-Anweisung. Dies liegt daran, dass der Compiler während der Kompilierung eine Sprungtabelle für einen Switch generiert. Infolgedessen entscheidet es während der Ausführung, anstatt zu überprüfen, welcher Fall erfüllt ist, nur, welcher Fall ausgeführt werden muss.
- Es ist besser lesbar im Vergleich zu if-else-Anweisungen.
Am Ende haben Sie die Wahl und ich hoffe, dieser Blog hilft Ihnen, den richtigen Weg zu finden, um die fundierteste Entscheidung zu treffen, wann eine if-else-Anweisung in einem Switch-Fall verwendet werden soll!