Subtraction assignment (-=)
Baseline Widely 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.
In this article
Try it
let a = 2;console.log((a -= 3));// Expected output: -1console.log((a -= "Hello"));// Expected output: NaNSyntax
js
x -= yDescription
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; // 3Other non-BigInt values are coerced to numbers:
js
bar -= "foo"; // NaNSubtraction assignment using BigInts
js
let foo = 3n;foo -= 2n; // 1nfoo -= 1; // TypeError: Cannot mix BigInt and other types, use explicit conversionsSpecifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-assignment-operators> |