arguments.callee web design & development blog  


Order of Operations in JavaScript

Operators are evaluated in the order supplied in the following table. Associativity applies when more than one operation with the same precedence takes place. Left-to-right Associativity means that operations of equal weight in a single statement are performed from left to right.

Order Assoc Operator Summary
1 L
L
L
R
.
[]
()
new
Retrieve object property.
Array index or associative object property.
Function call.
Instantiate an object.
2 R
R
R
R
R
R
R
R
R
++
--
-
+
~
!
delete
typeof
void
Pre- or post-increment. (unary)
Pre- or post-decrement. (unary)
Negation. (unary, NOT subtraction)
No operation, use numerical value. (unary, NOT addition)
Bitwise complement. (unary)
Logical complement. (unary)
Destroy an object property. (unary)
Return datatype. (unary)
Return undefined. (unary)
3 *, /, % L Multiply, divide, modulo (remainder)
4 L
L
+, -
+
Add, subtract.
Concatenate strings.
5 L
L
L
<<
>>
>>>
Shift left.
Shift right and extend sign.
Shift right and pad with zeroes.
6 L
L
L
L
<, <=
>, >=
instanceof
in
Less than, less than or equal.
Greater than, greater than or equal.
Verify an object's constructor.
Verify an object's property exists.
7 L
L
L
L
==
!=
===
!==
Are operands equal?
Are operands NOT equal?
Are operands identical?
Are operands NOT identical?
8 L & Bitwise AND
9 L ^ Bitwise XOR
10 L | Bitwise OR
11 L && Local AND
12 L || Local OR
13 R ? : Conditional operator (ternary)
14 R
R
=
*=, /=, %=, +=, -=, <<=,
>>=, >>>=, &=, ^=, |=
Assign value.
Perform operation, then assign value.
15 L , (comma) Multiple evaluation.
Tags




blog comments powered by Disqus
search blog
categories & tags
random posts
about hb stone

I'm a Senior Culinary Software Developer at Yummly working on various front-end and middle-tier tasks, primarily using JavaScript. I blog about web design and development topics including accessibility, usability, performance, and developing HTML / CSS / JavaScript applications on Appcelerator Titanium and Adobe AIR.

If you're a web developer, you might enjoy Jelo, my JavaScript library.

copyright

All original work on this site is covered by a Creative Commons Attribution 3.0 license unless otherwise specified.

You may share or use any code or images from this site in any manner, for free, so long as reasonable effort has been made to give credit where due.

The views expressed in the posts and comments on this blog do not necessarily reflect those of my current or former employers.