Addition 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.

The addition assignment (+=) operator performs addition (which is either numeric addition or string concatenation) on the two operands and assigns the result to the left operand.

Try it

Syntax

js
x += y

Description

x += y is equivalent to x = x + y, except that the expression x is only evaluated once.

Examples

Addition assignment using numbers

js
let bar = 5;
bar += 2; // 7

Other non-string, non-BigInt values are coerced to numbers:

js
let baz = true;
baz += 1; // 2
baz += false; // 2

Addition assignment using BigInts

js
let x = 1n;
x += 2n; // 3n

x += 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions

Addition assignment using strings

js
let foo = "foo";
foo += false; // "foofalse"
foo += "bar"; // "foofalsebar"

let bar = 5;
bar += "foo"; // "5foo"

Specifications

Specification
ECMAScript Language Specification
# sec-assignment-operators

Browser compatibility

BCD tables only load in the browser

See also