JavaScript Operator Precedence

Operator precedence describes the order in which operations are performed in an arithmetic expression.

Multiplication (*) and division (/) have higher precedence than addition (+) and subtraction (-).

As in traditional mathematics, multiplication is done first:

let x = 100 + 50 * 3;

 

When using parentheses, operations inside the parentheses are computed first:

let x = (100 + 50) * 3;

 

Operations with the same precedence (like * and /) are computed from left to right:

let x = 100 / 50 * 3;

 

Operator Precedence Values

Expressions in parentheses are computed before the rest of the expression
Function are executed before the result is used in the rest of the expression

Val

Operator

Description

Example

18

( )

Expression Grouping

(100 + 50) * 3

17

.

Member Of

person.name

17

[]

Member Of

person["name"]

17

?.

Optional Chaining ES2020

x ?. y

17

()

Function Call

myFunction()

17

new

New with Arguments

new Date("June 5,2022")

16

new

New without Arguments

new Date()

Increment Operators
Postfix increments are executed before prefix increments

15

++

Postfix Increment

i++

15

--

Postfix Decrement

i--

14

++

Prefix Increment

++i

14

--

Prefix Decrement

--i

NOT Operators

14

!

Logical NOT

!(x==y)

14

~

Bitwise NOT

~x

Unary Operators

14

+

Unary Plus

+x

14

-

Unary Minus

-x

14

typeof

Data Type

typeof x

14

void

Evaluate Void

void(0)

14

delete

Property Delete

delete myCar.color

Arithmetic Operators
Exponentiations are executed before multiplications
Multiplications and divisions are executed before additions and subtractions

13

**

Exponentiation ES2016

10 ** 2

12

*

Multiplication

10 * 5

12

/

Division

10 / 5

12

%

Division Remainder

10 % 5

11

+

Addition

10 + 5

11

-

Subtraction

10 - 5

11

+

Concatenation

"John" + "Doe"

Shift Operators

10

<< 

Shift Left

x << 2

10

>> 

Shift Right (signed)

x >> 2

10

>>> 

Shift Right (unsigned)

x >>> 2

Relational Operators

9


Login
ADS CODE