# JavaScript Arithmetic (Math) Decrementing (--)

## Example

The decrement operator (`--`) decrements numbers by one.

• If used as a postfix to `n`, the operator returns the current `n` and then assigns the decremented the value.
• If used as a prefix to `n`, the operator assigns the decremented `n` 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.
`````` PDF - Download JavaScript for free