減少( - )
遞減運算子(--)將數字減 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.