What this page covers
This table lists the supported expression node kinds, grouped by category.
It focuses on user-facing expression types you can use directly in expressions.
Core Concepts
Quick reference of the expression types you can use in rs-x expressions.
This table lists the supported expression node kinds, grouped by category.
It focuses on user-facing expression types you can use directly in expressions.
Use this page as a quick reference while writing or debugging an expression.
If a result looks wrong, identify the node type first and then check that part of the expression.
Optional chaining (?.) is supported. It is not required in rs-x member-path evaluation, because member path evaluation already handles null and undefined safely.
| Addition | Arithmetic | a + b | Adds numeric values, or concatenates when one side is a string. |
| And | Logical | isReady && isValid | Logical AND with short-circuit behavior (returns first falsy operand). |
| Array | Literal / structure | [a, b, c] | Array literal node. |
| BigInt | Literal | 10n | BigInt literal node. |
| BitwiseAnd | Bitwise | a & b | Bitwise AND. |
| BitwiseLeftShift | Bitwise | value << 1 | Left bit-shift. |
| BitwiseNot | Bitwise | ~value | Bitwise NOT. |
| BitwiseOr | Bitwise | a | b | Bitwise OR. |
| BitwiseRightShift | Bitwise | value >> 1 | Right bit-shift (sign-preserving). |
| BitwiseUnsignedRightShift | Bitwise | value >>> 1 | Unsigned right bit-shift (zero-fill). |
| BitwiseXor | Bitwise | a ^ b | Bitwise XOR. |
| Boolean | Literal | true | Boolean literal node. |
| Conditional | Logical | a > 0 ? a : 0 | Ternary conditional expression. |
| Division | Arithmetic | a / b | Numeric division. |
| Equality | Comparison | a == b | Loose equality check (with coercion). |
| Exponentiation | Arithmetic | a ** 2 | Power operator. |
| Function | Call / construction | sum(a, b) | Function call expression node. |
| GreaterThan | Comparison | a > b | Greater-than comparison. |
| GreaterThanOrEqual | Comparison | a >= b | Greater-than-or-equal comparison. |
| Identifier | Access | total | Variable or model field reference. |
| In | Comparison | 'key' in obj | Checks whether a property key exists in an object. |
| Index | Access | items[i] | Computed index/key/member lookup segment inside bracket access. |
| Inequality | Comparison | a != b | Loose inequality check (with coercion). |
| Instanceof | Comparison | value instanceof Date | Prototype-chain instance check. |
| LessThan | Comparison | a < b | Less-than comparison. |
| LessThanOrEqual | Comparison | a <= b | Less-than-or-equal comparison. |
| Member | Access | user.name / user?.name | Member access over object paths. Optional chaining is supported, but not required because rs-x handles null/undefined path segments safely. |
| Multiplication | Arithmetic | a * b | Numeric multiplication. |
| New | Call / construction | new Date() | Constructor invocation node. |
| Not | Logical | !isEnabled | Logical negation. |
| Null | Literal | null | Null literal node. |
| NullishCoalescing | Logical | name ?? 'N/A' | Nullish-coalescing operator. |
| Number | Literal | 42 | Number literal node. |
| Object | Literal / structure | ({ total: a + b }) | Object literal node. |
| Or | Logical | left || right | Logical OR with short-circuit behavior (returns first truthy operand). |
| RegExp | Literal | /abc/i | Regular expression literal node. |
| Remainder | Arithmetic | count % 2 | Remainder operator. |
| Sequence | Control / ordering | (a++, a) | Comma sequence; returns the last expression result. |
| Spread | Literal / structure | ({ ...defaults, enabled: true }) | Spread expansion for objects, arrays, and call arguments. |
| StrictEquality | Comparison | a === b | Strict equality check (no coercion). |
| StrictInequality | Comparison | a !== b | Strict inequality check (no coercion). |
| String | Literal | 'hello' | String literal node. |
| Subtraction | Arithmetic | a - b | Numeric subtraction. |
| TemplateLiteral | Literal | `Hello ${name}` | Template string node. |
| Typeof | Type / reflection | typeof value === 'string' | JavaScript typeof operator node. |
| UnaryNegation | Arithmetic | -amount | Arithmetic negation. |
| UnaryPlus | Arithmetic | +value | Numeric coercion via unary plus. |