Operators

LiquidJS operators are very simple and different. There’re 2 types of operators supported:

  • Comparison operators: ==, !=, >, <, >=, <=
  • Logic operators: not, or, and, contains

Thus numerical operators are not supported and you cannot even plus two numbers like this {{a + b}}, instead we need a filter {{ a | plus: b}}. Actually + is a valid variable name in LiquidJS.

Precedence

  1. Comparison operators, and contains. All comparison operators alongside contains have the same (highest) precedence.
  2. not operator. It has slightly more precedence than or and and.
  3. or and and operators. These logic operators have the same (lowest) precedence.

Associativity

Logic operators are evaluated from right to left, see shopify docs.