加法赋值 (+=)

加法赋值 (+=) 运算符对两个操作数执行 addition(数字加法或字符串连接),并将结果赋给左侧操作数。

¥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 += yx = x + y 等效,只是表达式 x 仅计算一次。

¥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

其他非字符串、非 BigInt 值被强制转换为数字:

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

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

使用 BigInts 进行加法赋值

¥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"

规范

Specification
ECMAScript Language Specification
# sec-assignment-operators

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看