JavaScript Tutorial/Operators/Operator Precedence
Operator order in action
<source lang="javascript">
<html> <head> <title>A Simple Page</title> <script language="JavaScript">
</script> </head> <body> </body> </html></source>
Operator Precedence from highest to lowest
Read From Operator Operator Name Left to Right . Object property access Left to Right [] Array index Left to Right () Function call Right to Left ++ Pre/Post Increment Right to Left -- Pre/Post Decrement Right to Left - Negation Right to Left ~ Bitwise NOT Right to Left ! Logical NOT Right to Left delete Undefine a property Right to Left new Create a new object Right to Left typeof Return data type Right to Left void Return undefined value Left to Right
- , /, %
Multiplication, division, modulus Left to Right +, - Addition, Subtraction Left to Right + String concatenation Left to Right << Left shift Left to Right >> Right shift with sign Left to Right >>> Right shift zero fill Left to Right <, <= Less than, less than or equal Left to Right >, >= Greater than, greater than or equal Left to Right == Equality Left to Right != Inequality Left to Right
=
Identity Left to Right !== Non-identity Left to Right & Bitwise AND Left to Right ^ Bitwise XOR Left to Right | Bitwise OR Left to Right && Logical AND Left to Right || Logical OR Right to Left ?: Conditional Right to Left = Assignment Right to Left
- =, /=
Assignment plus operation %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |= Left to Right . Multiple evaluation