Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Ausdrücke und Operatoren
  5. Logical OR Zuweisung (||=)

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

View in EnglishAlways switch to English

Logical OR Zuweisung (||=)

Baseline Widely available

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

DerLogical OR Zuweisungsoperator (||=) wertet nur den rechten Operanden aus und weist ihn dem linken zu, wenn der linke Operandfalsy ist.

Probieren Sie es aus

const a = { duration: 50, title: "" };a.duration ||= 10;console.log(a.duration);// Expected output: 50a.title ||= "title is empty.";console.log(a.title);// Expected output: "title is empty."

Syntax

js
x ||= y

Beschreibung

Die Logical OR Zuweisungshort-circuiting, was bedeutet, dassx ||= y gleichbedeutend mitx || (x = y) ist, außer dass der Ausdruckx nur einmal ausgewertet wird.

Es erfolgt keine Zuweisung, wenn die linke Seite nicht falsy ist, aufgrund des Short-Circuitings desLogical OR Operators. Zum Beispiel wirft das folgende keinen Fehler, obwohlx eineconst ist:

js
const x = 1;x ||= 2;

Ebenso würde das folgende nicht den Setter auslösen:

js
const x = {  get value() {    return 1;  },  set value(v) {    console.log("Setter called");  },};x.value ||= 2;

Tatsächlich wird, wennx nicht falsy ist,y überhaupt nicht ausgewertet.

js
const x = 1;x ||= console.log("y evaluated");// Logs nothing

Beispiele

Standardinhalt festlegen

Wenn das "lyrics"-Element leer ist, wird ein Standardwert angezeigt:

js
document.getElementById("lyrics").textContent ||= "No lyrics.";

Hier ist das Short-Circuiting besonders vorteilhaft, da das Element nicht unnötig aktualisiert wird und keine unerwünschten Nebeneffekte wie zusätzlicher Parsing- oder Rendering-Aufwand oder Verlust des Fokus verursacht werden.

Hinweis:Achten Sie auf den Wert, den die API zurückliefert, gegen die Sie prüfen. Wenn eine leere Zeichenfolge zurückgegeben wird (einfalsy Wert), muss||= verwendet werden, damit "Keine Lyrics." angezeigt wird, anstatt eines leeren Raums. Wenn die API jedochnull oderundefined im Fall von leerem Inhalt zurückgibt, sollte stattdessen??= verwendet werden.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-assignment-operators

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