Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Ausdrücke und Operatoren
  5. Logical AND (&&)

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Logical AND (&&)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Derlogische UND (&&) (logische Konjunktion) Operator für eine Menge von booleschen Operanden isttrue, wenn und nur wenn alle Operandentrue sind. Andernfalls ist erfalse.

Allgemeiner gesagt gibt der Operator den Wert des erstenfalsy Operanden zurück, der beim Auswerten von links nach rechts angetroffen wird, oder den Wert des letzten Operanden, wenn sie alletruthy sind.

Probieren Sie es aus

const a = 3;const b = -2;console.log(a > 0 && b > 0);// Expected output: false

Syntax

js
x && y

Beschreibung

Logisches UND (&&) wertet Operanden von links nach rechts aus und gibt sofort den Wert des erstenfalsy Operanden zurück, den es findet; wenn alle Wertetruthy sind, wird der Wert des letzten Operanden zurückgegeben.

Wenn ein Wert intrue umgewandelt werden kann, wird der Wert alstruthy bezeichnet. Wenn ein Wert infalse umgewandelt werden kann, wird der Wert alsfalsy bezeichnet.

Beispiele für Ausdrücke, die in false umgewandelt werden können, sind:

  • false;
  • null;
  • NaN;
  • 0;
  • leere Zeichenfolge ("" oder'' oder``);
  • undefined.

Der UND-Operator bewahrt Nicht-Boolean-Werte und gibt sie unverändert zurück:

js
result = "" && "foo"; // result is assigned "" (empty string)result = 2 && 0; // result is assigned 0result = "foo" && 4; // result is assigned 4

Obwohl der&& Operator mit Nicht-Boolean-Operanden verwendet werden kann, wird er dennoch als boolescher Operator betrachtet, da sein Rückgabewert immer in einenBoolean-Primitive umgewandelt werden kann.Um seinen Rückgabewert (oder einen allgemeinen Ausdruck) explizit in den entsprechenden booleschen Wert umzuwandeln, verwenden Sie einen doppeltenNOT-Operator oder denBoolean Konstruktor.

Kurzschluss-Auswertung

Der logische UND-Ausdruck ist ein Kurzschluss-Operator.Da jeder Operand in einen booleschen Wert umgewandelt wird, wenn das Ergebnis einer Umwandlungfalse ist, stoppt der UND-Operator und gibt den ursprünglichen Wert des falsy-Operanden zurück; es werdenkeine der verbleibenden Operanden ausgewertet.

Betrachten Sie den folgenden Pseudocode.

(some falsy expression) && expr

Der Teilexpr wirdnie ausgewertet, weil der erste Operand(some falsy expression) alsfalsy ausgewertet wird.Wennexpr eine Funktion ist, wird die Funktion nie aufgerufen.Sehen Sie das folgende Beispiel:

js
function A() {  console.log("called A");  return false;}function B() {  console.log("called B");  return true;}console.log(A() && B());// Logs "called A" to the console due to the call for function A,// && evaluates to false (function A returns false), then false is logged to the console;// the AND operator short-circuits here and ignores function B

Operatorrangfolge

Der UND-Operator hat eine höhere Rangfolge als der ODER-Operator, was bedeutet, dass der&& Operator vor dem|| Operator ausgeführt wird (sieheOperatorrangfolge).

js
true || false && false; // truetrue && (false || false); // false(2 === 3) || (4 < 0) && (1 === 1); // false

Beispiele

Verwendung von UND

Der folgende Code zeigt Beispiele für den&& (logisches UND) Operator.

js
a1 = true && true; // t && t returns truea2 = true && false; // t && f returns falsea3 = false && true; // f && t returns falsea4 = false && 3 === 4; // f && f returns falsea5 = "Cat" && "Dog"; // t && t returns "Dog"a6 = false && "Cat"; // f && t returns falsea7 = "Cat" && false; // t && f returns falsea8 = "" && false; // f && f returns ""a9 = false && ""; // f && f returns false

Umwandlungsregeln für Booleans

Konvertierung von UND zu ODER

Die folgende Operation mitBooleans:

js
bCondition1 && bCondition2

ist immer gleich:

js
!(!bCondition1 || !bCondition2)

Konvertierung von ODER zu UND

Die folgende Operation mitBooleans:

js
bCondition1 || bCondition2

ist immer gleich:

js
!(!bCondition1 && !bCondition2)

Entfernen von geschachtelten Klammern

Da logische Ausdrücke von links nach rechts ausgewertet werden, ist es immer möglich, Klammern aus einem komplexen Ausdruck zu entfernen, sofern bestimmte Regeln befolgt werden.

Die folgende zusammengesetzte Operation mitBooleans:

js
bCondition1 || (bCondition2 && bCondition3)

ist immer gleich:

js
bCondition1 || bCondition2 && bCondition3

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# prod-LogicalANDExpression

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp