Thanks to visit codestin.com
Credit goes to developer.mozilla.org

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

View in English Always switch to English

Exponentialer Zuweisungsoperator (**=)

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨März 2017⁩.

Der **exponentielle Zuweisungsoperator (**=)** führt die Exponenzierung auf den beiden Operanden durch und weist das Ergebnis dem linken Operanden zu.

Probieren Sie es aus

let a = 3;

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

console.log((a **= 0));
// Expected output: 1

console.log((a **= "hello"));
// Expected output: NaN

Syntax

js
x **= y

Beschreibung

x **= y ist äquivalent zu x = x ** y, mit dem Unterschied, dass der Ausdruck x nur einmal ausgewertet wird.

Beispiele

Exponentielle Zuweisung mit Zahlen

js
let bar = 5;
bar **= 2; // 25

Andere Nicht-BigInt-Werte werden in Zahlen umgewandelt:

js
let baz = 5;
baz **= "foo"; // NaN

Exponentielle Zuweisung mit BigInts

js
let foo = 3n;
foo **= 2n; // 9n
foo **= 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions

Spezifikationen

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

Browser-Kompatibilität

Siehe auch