Basics: Operators precedence

Hey, make sure you join my 🥾 ⛺ BOOTCAMP waiting list, next cohort in March/April/May 2025

Operators are simple when used one at a time:

``````let b = 2
b + 2
``````

You can combine multiple operators in the same expression:

``````const three = 1 + 2
three + 2 * 3
``````

In this case you need to apply some rules to know which operation is executed first.

Take this example:

``````let a = 1 * 2 + ((5 / 2) % 2)
``````

The result is 2.5, but why?

Some operations have higher precedence than the others. The precedence rules are:

• `*` `/` `%` (multiplication/division/remainder)
• `+` `-` (addition/subtraction)
• `=` (assignment)

We have more than those, but it’s a good start to understand precedence rules.

Operations on the same level (like `+` and `-`) are executed in the order they are found, from left to right.

Following these rules, the operation

``````let a = 1 * 2 + ((5 / 2) % 2)
``````

can be solved in this way:

``````let a = 1 * 2 + ((5 / 2) % 2)
let a = 2 + ((5 / 2) % 2)
let a = 2 + (2.5 % 2)
let a = 2 + 0.5
let a = 2.5
``````

And if you feel brave, you can omit the parentheses altogether, and the result will be the same:

``````let a = 1 * 2 + 5 / 2 % 2 //2.5
``````

#### Lessons in this unit:

 0: Introduction 1: Literals, identifiers and variables 2: Comments 3: The difference between let, const and var 4: Types 5: Operators and expressions 6: Let's start with arithmetic operators 7: The assignment operator 8: ▶︎ Operators precedence 9: Strings 10: Numbers 11: Semicolons, white space and sensitivity