Kurzschluss in JavaScript

Migel Hewage Nimesha 15 Februar 2024
  1. JavaScript Logischer UND-Operator
  2. JavaScript Logischer ODER-Operator
  3. Kurzschluss in JavaScript
Kurzschluss in JavaScript

Jede Programmiersprache unterstützt verschiedene Operatoren wie Arithmetik, Zuweisung, Vergleich und logische Operatoren. Auch bei JavaScript kein Unterschied; es unterstützt alle Operatoren, die die meisten Programmiersprachen unterstützen.

In diesem Leitfaden liegt der Schwerpunkt auf logischen Operatoren und ihrer Kurzschlussfähigkeit.

JavaScript Logischer UND-Operator

Logische UND- und ODER-Operatoren sind zwei beliebte logische Operatoren, die letztendlich als wahr oder falsch ausgewertet werden. Der logische AND-Operator wird nur dann als wahr ausgewertet, wenn beide Operanden wahr sind; Andernfalls wird immer false zurückgegeben.

Außerdem gibt der AND-Operator falsch zurück, wenn einer der Operanden falsch ist.

console.log(false && true);
console.log(false && false);
console.log(true && false);
console.log(true && true);

Ausgang:

Logischer UND-Operator

JavaScript Logischer ODER-Operator

Im Gegensatz zum logischen UND-Operator gibt der logische ODER-Operator wahr zurück, wenn einer der Operanden wahr ist. Immer wenn beide Operanden falsch sind, liefert dieser Operator ein falsches Ergebnis.

console.log(false || true);
console.log(true || false);
console.log(true || true);
console.log(false || false);

Ausgang:

Logischer ODER-Operator

Kurzschluss in JavaScript

JavaScript wertet die beiden obigen Operatoren innerhalb eines Ausdrucks von links nach rechts aus. Im schlimmsten Fall beginnt es am Anfang (linkes Ende) und wertet bis zum rechten Ende aus, bis alle Operanden bewertet sind.

Bei Kurzschluss ist dies nicht der Fall. Mit dem JavaScript-Kurzschlussmechanismus wird der Ausdruck von links nach rechts ausgewertet, bis das Ergebnis des verbleibenden Operanden den bereits bewerteten Ergebniswert nicht mehr beeinflusst.

Kurzschluss im logischen UND-Operator

Der logische UND-Operator wird kurzgeschlossen, wenn der erste Operand falsch ist. Unabhängig davon, ob der nachfolgende Operand wahr oder falsch ist, wird der Ausdruck als falsch ausgewertet.

Daher bewertet die JavaScript-Laufzeit die verbleibenden Operanden im Ausdruck nicht.

Schauen wir uns das folgende Beispiel an, das das obige Verhalten demonstriert.

console.log(true && 'it should come here and print me.');

Ausgang:

UND-Operator Kurzschluss Ausgang 1

Da der erste Operand true ist, wird dieser Ausdruck nicht kurzgeschlossen. Daher wird auch der nächste Operand ausgewertet. Wie erwartet wurde der zweite Operandenwert an die Konsole ausgegeben, was bedeutet, dass JavaScript beide Operanden bewertet hat.

Als nächstes verwenden wir false als ersten Operanden.

console.log(false && 'short-circuits and will not print me');

Ausgang:

AND Operator Short Circuit Output 2

Die Ausgabe ist erwartungsgemäß false und JavaScript hat den zweiten Operanden nicht weiter ausgewertet. Es bedeutet, dass der Ausdruck kurzgeschlossen wurde.

Kurzschluss im logischen ODER-Operator

Im Gegensatz zum logischen UND-Operator wird der logische ODER-Operator kurzgeschlossen, wenn der erste Operand wahr ist, wie unten gezeigt.

console.log(true || 'i will not be printed');

Ausgang:

OR Operator Short Circuit Output

Wie Sie sehen, ist die Ausgabe true, der zweite Operand wird also gar nicht ausgewertet.

Das Kurzschließen ist eine nützliche Funktion in JavaScript, die die unerwünschten Teile des Codes ignoriert und eine effiziente Verarbeitung unterstützt.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Verwandter Artikel - JavaScript Operator