減少( - )

遞減運算子(--)將數字減 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: Assignment to constant variable.
console.log(--x)  // TypeError: Assignment to constant variable.
console.log(--3)  // ReferenceError: Invalid left-hand size expression in prefix operation.
console.log(3--)  // ReferenceError: Invalid left-hand side expression in postfix operation.