# 文字插值

`RJS` 如何解析文字節點中的 `{{ }}`，以及可用的取值輔助函式。

## 解析流程

`#FIT_TEXT`（頂層）／`#FIT_TEXT_IN_ARRAY`／`#FIT_TEXT_IN_OBJECT`（`:for` 內部）會掃描文字節點中的 `{{ ... }}`，並透過 `#GET_VALUE` 解析每個符合項，支援：

## 輔助函式

| 輔助函式 | 行為 |
| --- | --- |
| `{{ key.path }}` | 逐層 dot-path 查找 `data`，透過 `#GET_VALUE_FROM_LAYERS` 走訪 |
| `{{ CALC(key + n) }}` | 算術運算：`+ - * / %`，透過 `#CALC` 執行 |
| `{{ LENGTH(key) }}` | 純物件為 `Object.keys(value).length`，其餘為 `value.length` |
| `{{ UPPER(key) }}` / `{{ LOWER(key) }}` | `.toUpperCase()` / `.toLowerCase()` |
| `{{ DATE(key, format) }}` | 將 `key` 解析為 Unix timestamp 並格式化（見 [Date 與 Number 擴充](/zh/api-reference-date-time) 的 `Number.$format`）|

## 嵌入前後文字

`REGEX_TEXT` 也支援值嵌入周圍字面文字中的情況（`prefix {{ key }} suffix`），代換時會保留前後綴。
