Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Ausdrücke und Operatoren
  5. Logisches ODER (||)

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

View in EnglishAlways switch to English

Logisches ODER (||)

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 ODER-Operator (||) (logische Disjunktion) für eine Menge von Operanden ist wahr, wenn und nur wenn einer oder mehrere seiner Operanden wahr sind. Er wird typischerweise mit booleschen (logischen) Werten verwendet. In diesem Fall gibt er einen booleschen Wert zurück. Der|| Operator gibt jedoch tatsächlich den Wert eines der angegebenen Operanden zurück, sodass er bei Verwendung mit nicht-booleschen Werten einen nicht-booleschen Wert zurückgibt.

Probieren Sie es aus

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

Syntax

js
x || y

Beschreibung

Wennx intrue konvertiert werden kann, wirdx zurückgegeben; andernfalls wirdy zurückgegeben.

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

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

  • null;
  • NaN;
  • 0;
  • leerer String ("" oder'' oder``);
  • undefined.

Auch wenn der|| Operator mit Operanden verwendet werden kann, die keine booleschen Werte sind, kann er dennoch als boolescher Operator betrachtet werden, da sein Rückgabewert immer in einenbooleschen primitiven Wert konvertiert werden kann. Um seinen Rückgabewert (oder einen beliebigen Ausdruck allgemein) explizit in den entsprechenden booleschen Wert zu konvertieren, verwenden Sie einen doppeltenNOT-Operator oder denBoolean() Konstruktor.

Kurzschlussbewertung

Der logische ODER-Ausdruck wird von links nach rechts ausgewertet und auf mögliche "Kurzschluss"-Bewertung getestet, indem die folgende Regel angewendet wird:

(ein wahrer Ausdruck) || expr wird durch Kurzschlussbewertung zu dem wahren Ausdruck ausgewertet.

Kurzschluss bedeutet, dass derexpr-Teil obennicht ausgewertet wird, daher treten keine Nebeneffekte auf (z.B. wennexpr ein Funktionsaufruf ist, findet der Aufruf niemals statt). Dies geschieht, weil der Wert des Operators bereits nach der Auswertung des ersten Operanden bestimmt ist. Siehe Beispiel:

js
function A() {  console.log("called A");  return false;}function B() {  console.log("called B");  return true;}console.log(B() || A());// Logs "called B" due to the function call,// then logs true (which is the resulting value of the operator)

Operatorpriorität

Die folgenden Ausdrücke scheinen äquivalent zu sein, sind es aber nicht, da der&& Operator vor dem|| Operator ausgeführt wird (sieheOperatorpriorität).

js
true || false && false; // returns true, because && is executed first(true || false) && false; // returns false, because grouping has the highest precedence

Beispiele

Verwendung von ODER

Der folgende Code zeigt Beispiele des|| (logisches ODER) Operators.

js
true || true; // t || t returns truefalse || true; // f || t returns truetrue || false; // t || f returns truefalse || 3 === 4; // f || f returns false"Cat" || "Dog"; // t || t returns "Cat"false || "Cat"; // f || t returns "Cat""Cat" || false; // t || f returns "Cat""" || false; // f || f returns falsefalse || ""; // f || f returns ""false || varObject; // f || object returns varObject

Hinweis:Wenn Sie diesen Operator verwenden, um einen Standardwert für eine Variable bereitzustellen, beachten Sie, dass jederfalsy Wert nicht verwendet wird. Wenn Sie nurnull oderundefined herausfiltern möchten, sollten Sie überlegen,den Nullish Coalescing Operator zu verwenden.

Konvertierungsregeln für boolesche Werte

Konvertierung von UND zu ODER

Die folgende Operation mitbooleschen Werten:

js
bCondition1 && bCondition2

ist immer gleich:

js
!(!bCondition1 || !bCondition2)

Konvertierung von ODER zu UND

Die folgende Operation mitbooleschen Werten:

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 nach bestimmten Regeln zu entfernen.

Die folgende zusammengesetzte Operation mitbooleschen Werten:

js
bCondition1 && (bCondition2 || bCondition3)

ist immer gleich:

js
!(!bCondition1 || !bCondition2 && !bCondition3)

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# prod-LogicalORExpression

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