递增 (++)
**增量 (++
)** 运算符会将其操作数递增(加 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 表仅在浏览器中加载