递增 (++)

**增量 (++)** 运算符会将其操作数递增(加 1),并根据运算符放置的位置返回递增之前或之后的值。

试一试

语法

js
x++
++x

描述

++ 运算符对两种类型的操作数进行了重载:数字和BigInt。它首先将操作数强制转换为数值并测试其类型。如果操作数变为 BigInt,则执行 BigInt 递增;否则,执行数字递增。

如果后置使用,运算符在操作数之后(例如,x++),则增量运算符会先递增,然后返回递增之前的值。

如果前置使用,运算符在操作数之前(例如,++x),则增量运算符会先递增,然后返回递增之后的值。

增量运算符只能应用于作为引用的操作数(变量和对象属性;即有效的赋值目标)。++x 本身会计算出一个值,而不是一个引用,因此不能将多个增量运算符链接在一起。

js
++(++x); // SyntaxError: Invalid left-hand side expression in prefix operation

示例

后置增量

js
let x = 3;
const y = x++;
// x is 4; y is 3

let x2 = 3n;
const y2 = x2++;
// x2 is 4n; y2 is 3n

前置增量

js
let x = 3;
const y = ++x;
// x is 4; y is 4

let x2 = 3n;
const y2 = ++x2;
// x2 is 4n; y2 is 4n

规范

规范
ECMAScript 语言规范
# sec-postfix-increment-operator

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅