减数运算符(--)将数字减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操作中的左侧表达式无效。