Remainder assignment (%=)
BaselineWidely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Theremainder assignment (%=
) operator performsremainder on the two operands and assigns the result to the left operand.
Try it
let a = 3;console.log((a %= 2));// Expected output: 1console.log((a %= 0));// Expected output: NaNconsole.log((a %= "hello"));// Expected output: NaN
Syntax
js
x %= y
Description
x %= y
is equivalent tox = x % y
, except that the expressionx
is only evaluated once.
Examples
Using remainder assignment
js
let bar = 5;bar %= 2; // 1bar %= "foo"; // NaNbar %= 0; // NaNlet foo = 3n;foo %= 2n; // 1n
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-assignment-operators |