JavaScript 递减(-)

示例

减数运算符(--)将数字减1。

  • 如果用作的后缀n,则运算符将返回当前值n,然后为减量的值分配值。

  • 如果用作的前缀n,则运算符将分配减量n,然后返回更改后的值。

var a = 5,    // 5
    b = a--,  // 5
    c = a     // 4

在这种情况下,b设置为的初始值a。因此,b将为5,c将为4。

var a = 5,    // 5
    b = --a,  // 4
    c = a     // 4

在这种情况下,b设置为的新值a。因此,b将为4,c并将为4。

常见用途

减量和增量运算符通常在for循环中使用,例如:

for (var i = 42; i > 0; --i) {
  console.log(i)
}

请注意如何使用前缀变体。这样可以确保不必创建临时变量(在操作之前返回值)。

注意:既不是正常的数学运算符,--也不++是普通的数学运算符,而是赋值的非常简洁的运算符。尽管返回值,二者x--并--x重新分配给x这样x = x - 1。

const x = 1;
console.log(x--)  // TypeError:分配给常数变量。
console.log(--x)  // TypeError:分配给常数变量。
console.log(--3)  // ReferenceError:前缀操作中的左手大小表达式无效。
console.log(3--)  // ReferenceError:postfix操作中的左侧表达式无效。