Order of Operators
Theoretical Order of Operators
Literals
Literals are the highest precedence and are parsed first. They could be identifiers, numbers, strings, characters, true, false, null.
Parentheses
(
)
: Parentheses are used to group expressions and have the highest precedence.
Unary Operators
+
, -
(positive and negative), ! (logical NOT), ~ (bitwise NOT).
Mandatory Operators
++
, --
(increment and decrement).
Call Operator and Property Access
.
(dot), []
(brackets), ()
(call).
Cast Operator
as
(cast).
Power Operator
**
(power).
Multiplicative Operators
*
(multiplication), /
(division), %
(modulo).
Additive Operators
+
(addition), -
(subtraction).
Shift Operators
<<
(left shift), >>
(right shift), >>>
(unsigned right shift)
Relational Operators
<
, <=
(less than, less than or equal to), >
, >=
(greater than, greater than or equal to).
Equality Operators
==
(equal to), !=
(not equal to).
Bitwise AND / NAND
&
(bitwise AND), &~
(bitwise NAND).
Bitwise XOR / XNOR
^
(bitwise XOR), ^~
(bitwise XNOR).
Bitwise OR / NOR
|
(bitwise OR), |~
(bitwise NOR).
Logical AND
&&
Logical XOR
^^
Logical OR
||
Conditional (Ternary) Operator
? :
, ?:
Assignment Operators
=
, +=
, -=
, *=
, /=
, %=
, <<=
, >>=
, &=
, ^=
, |=