This appendix contains the operator precedence chart for JavaScript/ECMAScript (Fig. C.1) The operators are shown in decreasing order of precedence from top to bottom.
Operator | Type | Associativity | |
---|---|---|---|
Fig. C.1 | JavaScript/ECMAScript operator precedence and associativity. | |||
. | member access | left to right | |
[ ] | array indexing | ||
( ) | function calls | ||
++ | increment | right to left | |
-- | decrement | ||
- | uanry minus | ||
~ | bitwise complement | ||
! | logical NOT | ||
delete | deletes an array element or object property | ||
new | creates a new object | ||
typeof | returns the data type of its argument | ||
void | prevents an expression from returning a value | ||
* | multiplication | left to right | |
/ | division | ||
% | modulus | ||
+ | addition | ||
- | subtraction | ||
+ | string concatenation | ||
<< | left shift | left to right | |
>> | right shift with sign extension | ||
>>> | right shift with zero extension | ||
< | less than | left to right | |
<= | less than or equal | ||
> | greater than | ||
>= | greater than or equal | ||
instanceof | type comparison | ||
== | equality | left to right | |
!= | inequality | ||
=== | identity | ||
!== | nonidentity | ||
& | bitwise AND | left to right | |
^ | bitwise XOR | left to right | |
| | bitwise OR | left to right | |
&& | logical AND | left to right | |
|| | logical OR | left to right | |
?: | conditional | right to left | |
= | assignment | right to left | |
+= | addition assignment | ||
-= | subtraction assignment | ||
*= | multiplication assignment | ||
/= | division assignment | ||
%= | modulus assignment | ||
&= | bitwise AND assignment | ||
^= | bitwise exclusive OR assignment | ||
|= | bitwise inclusive OR assignment | ||
<<= | bitwise left shift assignment | ||
>> | bitwise right shift with sign extension assignment | ||
>>>= | bitwise right shift with zero extension assignment |