Remainder assignment (%=) - JavaScript | MDN
Try it
let a = 3;
console.log((a %= 2));
// Expected output: 1
console.log((a %= 0));
// Expected output: NaN
console.log((a %= "hello"));
// Expected output: NaN
Syntax
Description
x %= y is equivalent to x = x % y, except that the expression x is only evaluated once.
Examples
Using remainder assignment
js
let bar = 5;
bar %= 2; // 1
bar %= "foo"; // NaN
bar %= 0; // NaN
let foo = 3n;
foo %= 2n; // 1n
Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification # sec-assignment-operators |