指数赋值运算符 (**=)

指数赋值 (**=) 运算符对两个操作数执行 指数运算,并将结果赋值给左侧操作数。

试一试

语法

js
x **= y

描述

x **= y 等效于 x = x ** y,区别在于表达式 x 只计算一次。

示例

使用数字进行指数赋值

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

其他非 BigInt 值将被强制转换为数字

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

使用 BigInt 进行指数赋值

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

规范

规范
ECMAScript 语言规范
# sec-assignment-operators

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅