Binding Operators Reference
Operators for building expressions in Scryber data binding.
Overview
Binding operators allow you to perform calculations, comparisons, and logical operations within binding expressions. All operators follow standard precedence rules and can be combined in complex expressions.
Arithmetic Operators
Perform mathematical calculations on numeric values.
| Operator | Description | Precedence | Example |
|---|---|---|---|
| + | Addition | 5 | {{model.price + model.tax}} |
| - | Subtraction | 5 | {{model.total - model.discount}} |
| * | Multiplication | 4 | {{model.quantity * model.price}} |
| / | Division | 4 | {{model.total / model.count}} |
| % | Modulus (remainder) | 4 | {{model.index % 2}} |
| [^](./power) | Exponentiation | 3 | {{model.base ^ model.exponent}} |
Comparison Operators
Compare values and return boolean results. Used primarily in {{#if}} conditionals.
| Operator | Description | Precedence | Example |
|---|---|---|---|
| == | Equality | 7 | {{#if model.status == 'active'}} |
| != | Inequality | 7 | {{#if model.count != 0}} |
| < | Less than | 6 | {{#if model.age < 18}} |
| <= | Less than or equal | 6 | {{#if model.score <= 100}} |
| > | Greater than | 6 | {{#if model.value > 0}} |
| >= | Greater than or equal | 6 | {{#if model.age >= 18}} |
Logical Operators
Combine boolean expressions.
| Operator | Description | Precedence | Example |
|---|---|---|---|
| && | Logical AND | 9 | {{#if model.age >= 18 && model.hasLicense}} |
| || | Logical OR | 10 | {{#if model.isAdmin \|\| model.isModerator}} |
Null Coalescing Operator
Handle null or undefined values with fallback.
| Operator | Description | Precedence | Example |
|---|---|---|---|
| ?? | Null coalescing | 8 | {{model.name ?? 'Unknown'}} |
Operator Precedence
Operators are evaluated in order of precedence (1 = highest, 10 = lowest):
- Parentheses
() - Member access
. - Exponentiation
^ - Multiplication, Division, Modulus
*,/,% - Addition, Subtraction
+,- - Comparison
<,<=,>,>= - Equality
==,!= - Null coalescing
?? - Logical AND
&& - Logical OR
||
Use parentheses to override precedence:
Common Patterns
Complex Arithmetic
Multiple Comparisons
Null Safety
Conditional Classes
See Also
- Expression Functions - Built-in functions for data manipulation
- Handlebars Helpers - Control flow and context management
- Expressions Guide - Complete guide to expressions