let a = 3;
a /= 2;
console.log(a);
// Expected output: 1.5
a /= 0;
console.log(a);
// Expected output: Infinity
a /= "hello";
console.log(a);
// Expected output: NaN
js
x /= y
x /= y is equivalent to x = x / y, except that the expression x is only evaluated once.
js
let bar = 5;
bar /= 2; // 2.5
bar /= 2; // 1.25
bar /= 0; // Infinity
Other non-BigInt values are coerced to numbers:
js
let bar = 5;
bar /= "2"; // 2.5
bar /= "foo"; // NaN
js
let foo = 3n;
foo /= 2n; // 1n
foo /= 2n; // 0n
foo /= 0n; // RangeError: BigInt division by zero
foo /= 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions
| Specification |
|---|
| ECMAScript® 2026 Language Specification # sec-assignment-operators |