Decrementing (--)
suggest changeThe decrement operator (--
) decrements numbers by one.
- If used as a postfix to
n
, the operator returns the currentn
and then assigns the decremented the value. - If used as a prefix to
n
, the operator assigns the decrementedn
and then returns the changed value.
var a = 5, // 5
b = a--, // 5
c = a // 4
In this case, b
is set to the initial value of a
. So, b
will be 5, and c
will be 4.
var a = 5, // 5
b = --a, // 4
c = a // 4
In this case, b
is set to the new value of a
. So, b
will be 4, and c
will be 4.
Common Uses
The decrement and increment operators are commonly used in for
loops, for example:
for (var i = 42; i > 0; --i) {
console.log(i)
}
Notice how the prefix variant is used. This ensures that a temporarily variable isn’t needlessly created (to return the value prior to the operation).
Note: Neither -- nor ++ are like normal mathematical operators, but rather they are very concise operators for assignment. Notwithstanding the return value, both x-- and --x reassign to x such that 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.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents