August 2019
Intermediate to advanced
486 pages
13h 52m
English
The expression evaluation order is not specified formally in Solidity. It doesn't specify the order in which the children of one node in the expression tree are evaluated. However, children are evaluated before the nodes are. It is guaranteed that short-circuiting for the Boolean expression is evaluated from left to right.
The following table shows the order of precedence of operators, with precedence 1 being the highest and precedence 16 being the lowest:
| Precedence | Description | Operator |
| 1 | Postfix increment and decrement | ++, -- |
| New expression | new <typename> | |
| Array subscripting | <array>[<index>] | |
| Member access | <object>.<member> | |
| Function-like call | <func>(<args...>) | |
| Parentheses | (<statement>) | |
| 2 | Prefix ... |