Subtraction 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.
Thesubtraction assignment (-=
) operator performssubtraction on the two operands and assigns the result to the left operand.
Try it
let a = 2;console.log((a -= 3));// Expected output: -1console.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
Subtraction assignment using numbers
js
let bar = 5;bar -= 2; // 3
Other non-BigInt values are coerced to numbers:
js
bar -= "foo"; // NaN
Subtraction assignment using BigInts
js
let foo = 3n;foo -= 2n; // 1nfoo -= 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions
Specifications
Specification |
---|
ECMAScript® 2026 Language Specification # sec-assignment-operators |