Learn the basics of the JavaScript Operators Precedence Rules
Every complex statement will introduce precedence problems.
Take this:
const a = 1 * 2 + 5 / 2 % 2
The result is 2.5, but why? What operations are executed first, and which need to wait?
Some operations have more precedence than the others. The precedence rules are listed in this table:
Operator | Description |
---|---|
- + ++ -- | unary operators, increment and decrement |
* / % | multiply/divide |
+ - | addition/subtraction |
= += -= *= /= %= **= | assignments |
Operations on the same level (like +
and -
) are executed in the order they are found
Following this table, we can solve this calculation:
const a = 1 * 2 + 5 / 2 % 2
const a = 2 + 5 / 2 % 2
const a = 2 + 2.5 % 2
const a = 2 + 0.5
const a = 2.5