余数赋值 (%=)

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

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

试一试

let a = 3;

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

console.log((a %= 0));
// Expected output: NaN

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

语法

js
x %= y

描述

x %= y 等价于 x = x % y,但表达式 x 只会被求值一次。

示例

使用余数赋值运算符

js
let bar = 5;

bar %= 2; // 1
bar %= "foo"; // NaN
bar %= 0; // NaN

let foo = 3n;
foo %= 2n; // 1n

规范

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

浏览器兼容性

另见