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 Weitgehend verfügbar

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

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

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

Browser-Kompatibilität

Siehe auch