---
updatedAt: 2025-05-08T20:08:20.000Z
agentTools:
  projectIndex: https://console-docs.gupshup.io/llms.txt
---

# Operations

## Operators

<br />

Adaptive expressions support the following operator types and expression syntax:

* arithmetic
* comparison
* logical
* other operators and expressions syntax

<br />

### Arithmetic

| Operator | Functionality                   | Prebuilt Function Equivalent |
| -------- | ------------------------------- | ---------------------------- |
| -        | Addition. Example: A + B        | add                          |
| -        | Subtraction. Example: A - B     | sub                          |
| unary +  | Positive value. Example: +1, +A | N/A                          |
| unary -  | Negative value. Example: -2, -B | N/A                          |
| -        | Multiplication. Example: A \* B | mul                          |
| /        | Division. Example: A / B        | div                          |
| ^        | Exponentiation. Example: A ^ B  | exp                          |
| %        | Modulus. Example: A % B         | mod                          |

### Comparison

| Operator | Functionality                          | Prebuilt Function Equivalent |
| -------- | -------------------------------------- | ---------------------------- |
| ==       | Equals. Example: A == B                | equals                       |
| !=       | Not equals. Example: A != B            | not(equals())                |
| >        | Greater than. Example: A > B           | greater                      |
| <        | Less than. Example: A < B              | less                         |
| > =      | Greater than or equal. Example: A >= B | greaterOrEquals              |
| <=       | Less than or equal. Example: A <= B    | lessOrEquals                 |

### Logical

| Operator | Functionality               | Prebuilt Function Equivalent |
| -------- | --------------------------- | ---------------------------- |
| &&       | And. Example: exp1 && exp2  | and                          |
| \|\|     | Or. Example: exp1 \|\| exp2 | or                           |
| !        | Not. Example: !exp1         | not                          |

### Other

| Operator | Functionality                                                                                                                                                            | Prebuilt Function Equivalent |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
| & , +    | Concatenation operators. Operands will always be cast to string. Examples: `A & B`, `'foo' + ' bar'` → `'foo bar'`, `'foo' + 3` → `'foo3'`, `'foo' + (3 + 3)` → `'foo6'` | N/A                          |
| '        | Used to wrap a string literal. Example: `'myValue'`                                                                                                                      | N/A                          |
| "        | Used to wrap a string literal. Example: `"myValue"`                                                                                                                      | N/A                          |
| \[]      | Used to refer to an item in a list by its index. Example: `A[0]`                                                                                                         | N/A                          |
| `${}`    | Used to denote an expression. Example: `${A == B}`                                                                                                                       | N/A                          |
| `${}`    | Used to denote a variable in template expansion. Example: `${myVariable}`                                                                                                | N/A                          |
| ()       | Enforces precedence order and groups sub-expressions into larger expressions. Example: `(A+B)*C`                                                                         | N/A                          |
| .        | Property selector. Example: `myObject.Property1`                                                                                                                         | N/A                          |
| \\       | Escape character for templates, expressions.                                                                                                                             | N/A                          |