# Operator Precedence and Associativity

Learn about operator precedence and associativity in Notion formulas.

Notion operators have a specific operator precedence order. Operators with a higher precedence (10 being the highest) will have their logic executed before operators of lower precedence.

Operators at the same precedence level are executed either left-to-right or right-to-left, depending on their associativity.

Refer to the table below to see the precedence level and associativity of each operator.

Since parentheses `()` have the highest precedence in a Notion formula, you can use them to define a specific order of operations within any formula.

It’s also good to understand that associativity can be thought of as an implied default setting of parentheses. For example:

``````/* Multiply has left-to-right associativity. The following are equivalent: */
2 * 3 * 4 /* Output: 24 */
(2 * 3) * 4 /* Output: 24 */

/* Exponentiation has right-to-left associativity (the "Tower Rule"). The following are equivalent: */
2 ^ 3 ^ 2 /* Output: 512 */
2 ^ (3 ^ 2) /* Output: 512 */
```Code language: JavaScript (javascript)```

Certain operators cannot be chained in Notion formulas; thus, they do not have associativity. These are marked with “N/A” in the associativity column.

For example, the following formulas will not work in Notion:

``````/* Invalid */
1 > prop("Number") > 5

/* Valid */
1 > prop("Number") and prop("Number") < 5 /* Output: true */

---

/* Invalid */
1 == toNumber(true) == toNumber("1")

/* Valid */
1 == toNumber(true) and 1 == toNumber("1") /* Output: True */
```Code language: JavaScript (javascript)```

If you want to understand operator precedence and associativity more thoroughly, I’ll recommend reading through the Operator Precedence guide for JavaScript on MDN’s web docs: