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

View in English Always switch to English

Logisches UND Zuweisung (&&=)

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2020 browserübergreifend verfügbar.

Der logische UND Zuweisungsoperator (&&=) wertet nur den rechten Operanden aus und weist ihn dem linken zu, wenn der linke Operand truthy ist.

Probieren Sie es aus

let a = 1;
let b = 0;

a &&= 2;
console.log(a);
// Expected output: 2

b &&= 2;
console.log(b);
// Expected output: 0

Syntax

js
x &&= y

Beschreibung

Die logische UND Zuweisung abgekürzt, bedeutet, dass x &&= y gleichwertig ist mit x && (x = y), außer dass der Ausdruck x nur einmal ausgewertet wird.

Es wird keine Zuweisung durchgeführt, wenn die linke Seite nicht truthy ist, aufgrund der Abkürzungslogik des logischen UND Operators. Zum Beispiel wirft das Folgende keinen Fehler, obwohl x eine const ist:

js
const x = 0;
x &&= 2;

Auch würde das Folgende den Setter nicht auslösen:

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

x.value &&= 2;

Tatsächlich, wenn x nicht truthy ist, wird y überhaupt nicht ausgewertet.

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

Beispiele

Verwendung der logischen UND Zuweisung

js
let x = 0;
let y = 1;

x &&= 0; // 0
x &&= 1; // 0
y &&= 1; // 1
y &&= 0; // 0

Spezifikationen

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

Browser-Kompatibilität

Siehe auch