递减 (--)
**递减 (--
)** 运算符递减(从其操作数中减去一)并返回递减之前或之后的值,具体取决于运算符放置的位置。
试一试
语法
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 2; y is 3
let x2 = 3n;
const y2 = x2--;
// x2 is 2n; y2 is 3n
前缀递减
js
let x = 3;
const y = --x;
// x is 2; y = 2
let x2 = 3n;
const y2 = --x2;
// x2 is 2n; y2 is 2n
规范
规范 |
---|
ECMAScript 语言规范 # sec-postfix-decrement-operator |
浏览器兼容性
BCD 表格仅在浏览器中加载