递增 (++)
递增 (++) 运算符递增(给其操作数加一)其操作数,并根据运算符的位置,返回递增前或递增后的值。
试一试
let x = 3;
const y = x++;
console.log(`x:${x}, y:${y}`);
// Expected output: "x:4, y:3"
let a = 3;
const b = ++a;
console.log(`a:${a}, b:${b}`);
// Expected output: "a:4, b:4"
语法
js
x++
++x
描述
++ 运算符对两种类型的操作数进行了重载:number 和 BigInt。它首先将 操作数强制转换为数值 并测试其类型。如果操作数变为 BigInt,则执行 BigInt 递增;否则,执行 number 递增。
如果用作后缀,即运算符在操作数之后(例如 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® 2026 语言规范 # sec-postfix-increment-operator |
浏览器兼容性
加载中…