JavaScript Operators Precedence Rules
By Flavio Copes
Learn how JavaScript operator precedence decides which operations run first, so an expression like 1 * 2 + 5 / 2 % 2 evaluates the way you expect.
~~~
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 ~~~
Related posts about js: