> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-feat-acul-js-sdk-1-7-0-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 変数とヘルパー関数

> アクション用のフォームで変数を使用する方法を説明します。

変数を使用すると、フォームとフローに含まれるデータにアクセスして、カスタムビジネスロジックと自動化を作成できます。

変数を使用する際の基本的な考慮事項は次のとおりです。

* 変数は中括弧`{{ variable }}`で囲みます。
* 変数が存在しないか解決できない場合は、`未定義`の変数と同じ効果があります。
* `null`または`未定義`の変数を処理するには、nullish演算子を使用できます。例:`{{fields.foo ?? fields.bar}}`。

## 利用できる変数

フォームとフローを使用して顧客から収集したデータを参照および変換するには、さまざまな種類の変数を使用できます。

| 変数                              | 構文                | 場所       | 説明                             |
| ------------------------------- | ----------------- | -------- | ------------------------------ |
| Context（コンテキスト）                 | `{{context.*}}`   | フォーム/フロー | 現在のトランザクションのリファレンスコンテキストデータ    |
| Form fields（フォームフィールド）          | `{{fields.*}}`    | フォーム/フロー | フォームフィールドと非表示フィールドからのリファレンスデータ |
| Shared variables（共有変数）          | `{{vars.*}}`      | フォーム/フロー | 共有変数として保存されたリファレンスデータ          |
| Flow actions output（フローアクション出力） | `{{actions.*}}`   | フロー      | 前のフローアクションの出力応答からのリファレンスデータ    |
| Helper functions（ヘルパー関数）        | `{{functions.*}}` | フォーム/フロー | データ変換のためのヘルパー関数                |

### コンテキスト変数

フォームとフローは、現在のトランザクションからコンテキスト変数を自動的に継承します。次のコンテキスト変数にアクセスできます。

* `user`オブジェクト。以下に挙げたプロパティにアクセスできます。

  * `user.user_id`
  * `user.username`
  * `user.name`
  * `user.given_name`
  * `user.family_name`
  * `user.nickname`
  * `user.email`
  * `user.email_verified`
  * `user.phone_number`
  * `user.phone_verified`
  * `user.picture`
  * `user.user_metadata`
  * `user.app_metadata`
  * `user.created_at`
  * `user.updated_at`
  * `user.last_password_reset`
  * `user.identities`
* 次のプロパティにアクセスできる`組織`オブジェクト。

  * `organization.id`
  * `organization.name`
  * `organization.display_name`
  * `organization.metadata`
* 次のプロパティにアクセスできる`クライアント`オブジェクト。

  * `client.client_id`
  * `client.name`
* 次のプロパティにアクセスできる`テナント`オブジェクト。

  * `tenant.name`
* 次のプロパティにアクセスできる`トランザクション`オブジェクト。

  * `transaction.state`

<Accordion title="コンテキストオブジェクトの例">
  ```json lines expandable theme={null}
  {
    "user": {
      "user_id": "auth0|658409...",
      "name": "ana@travel0.com",
      "nickname": "ana",
      "email": "ana@travel0.com",
      "email_verified": true,
      "picture": "https://s.gravatar.com/avatar/8eb1b522f6...",
      "user_metadata": {},
      "app_metadata": {},
      "created_at": "2023-12-21T09:46:40.487Z",
      "updated_at": "2024-05-07T10:44:26.271Z",
      "last_password_reset": "2023-12-21T09:49:08.932Z",
      "identities": [
        {
          "user_id": "6584...",
          "isSocial": false,
          "provider": "auth0",
          "connection": "Username-Password-Authentication"
        }
      ]
    },
    "client": {
      "client_id": "xpeg5...",
      "name": "My App"
    },
    "tenant": {
      "name": "tenant-testing"
    },
    "transaction": {
      "state": "hKFo2SBId2M0..."
    }
  }
  ```
</Accordion>

例：  `{{context.user.user_id}}`は、`ユーザー`オブジェクトの`user_id`を参照します。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=fbbf94d9b070df5a940b92daef9d4732" alt="Dashboard > Forms > Flows" data-og-width="1141" width="1141" data-og-height="219" height="219" data-path="docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=fc16361a3282da9a9cedf8933139ee5b 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=58c1d2d1dac4bb4ef4f3eb16df940507 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=e83615270ed4a45b48a4e15e36c63090 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=a791f4102348905c854412e25c01cdd2 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=de35aeb552e1c8e078629724ebfd5d7e 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=afddb5a51d6c4923464517f3203fdb98 2500w" />
</Frame>

### フォームフィールド変数

フィールド変数には、フォームの入力フィールドからユーザーから収集されたデータと、非表示フィールドのデータが含まれます。各フィールドのデータは、フィールドタイプによって異なります。例：`{{fields.first_name`}}は、IDが`first_name`のフィールドの入力値を参照します。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=5d4aaed40b653923c1bbf6550663007b" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="497" height="497" data-path="docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=00a30bbb2f0d6ea72ce955a35622ba56 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=41f8f20e8641c9099374376e5dab84ed 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=d5b0f42e1f6b38eb18c3b56f052c6423 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=c95e012f464d1300dad8560bee0aff63 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=e229457f3852261df8f318353740ac17 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=402ed264049050a4b6fbd91800b71b14 2500w" />
</Frame>

### フロー出力アクション変数

フローアクションが実行されると、後続のアクションで参照できる出力オブジェクト応答が生成されます。例：`{{actions.generate_otp.code}}`は、IDが`generate_otp`のアクションの出力コードを参照します。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/zhwpji_Q-HwJE9ST/docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=zhwpji_Q-HwJE9ST&q=85&s=e85e496af48d3bc535a7c12a868c47ad" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="253" height="253" data-path="docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/zhwpji_Q-HwJE9ST/docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=zhwpji_Q-HwJE9ST&q=85&s=c9fd1ee3d99bfedd9055b0f8e635923e 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/zhwpji_Q-HwJE9ST/docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=zhwpji_Q-HwJE9ST&q=85&s=d9e5b9adc45049654be1de1d8a769ea5 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/zhwpji_Q-HwJE9ST/docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=zhwpji_Q-HwJE9ST&q=85&s=69e582b0ccd4f44ac8ad5d8fb37f3b9a 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/zhwpji_Q-HwJE9ST/docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=zhwpji_Q-HwJE9ST&q=85&s=a1f180b94de9287f875c7e028c149976 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/zhwpji_Q-HwJE9ST/docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=zhwpji_Q-HwJE9ST&q=85&s=805c2c50eca0418756153e72829423e0 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/zhwpji_Q-HwJE9ST/docs/images/ja-jp/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=zhwpji_Q-HwJE9ST&q=85&s=3ae17ad6dfc40c0229da4227a03fb07b 2500w" />
</Frame>

### 共有変数

後続のフローと共有する変数、または同じトランザクション内のフォームコンポーネントと共有する変数を保存できます。共有変数は一時的なものであり、特定のフォームジャーニーに関連付けられています。その値には、そのジャーニーの外部からはアクセスできません。例：`{{vars.external_id}}`は、IDが`external_id`の共有変数の値を参照します。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=9d34c83fba01f0e3c3ed90e7f6c642f9" alt="Dashboard > Actions > Forms > Flows" data-og-width="1215" width="1215" data-og-height="162" height="162" data-path="docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=ea4bb81fd4d5fde775c7a63423d00dd2 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=e41d160d01bcf3efa7f161559af67c6c 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=b55af098d582d2412bc11d6d50bf1d69 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=0d68bf92593ae9a8a7bb400dc01ff964 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=37ca5dc63bae524860af8c56dfc0cee3 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/OsLckQ4xFrXG1k5S/docs/images/ja-jp/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=OsLckQ4xFrXG1k5S&q=85&s=f21edfdb0d8853bfe24e534d6d6a3246 2500w" />
</Frame>

<Warning>
  共有変数は：

  * 内部（サーバー側）であり、ブラウザー（クライアント側）には公開されません。
  * フォームコンポーネントで共有変数を参照した場合、解決してブラウザーに公開できます。
</Warning>

### ヘルパー関数

ヘルパー関数を使用すると、データを変換して簡単な操作を実行できます。例：`{{functions.toString(fields.privacy_policies)}}`は、`toString()`関数を使用して、ID`privacy_policies`のフィールドの値を変換します。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/4EQQ-aP6cYumugsf/docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=4EQQ-aP6cYumugsf&q=85&s=f95f4f22e92b5bb33aba7f4f357280c5" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="290" height="290" data-path="docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/4EQQ-aP6cYumugsf/docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=4EQQ-aP6cYumugsf&q=85&s=7bde65a8bbf0ec4db67fe8705150e1c3 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/4EQQ-aP6cYumugsf/docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=4EQQ-aP6cYumugsf&q=85&s=007858a445192185fef61e0b8e4ac3ee 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/4EQQ-aP6cYumugsf/docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=4EQQ-aP6cYumugsf&q=85&s=7005da3357f0723495152cd6955bb8e5 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/4EQQ-aP6cYumugsf/docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=4EQQ-aP6cYumugsf&q=85&s=6ab16c719fa1fc122c671756f285f6c3 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/4EQQ-aP6cYumugsf/docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=4EQQ-aP6cYumugsf&q=85&s=34146e6dbf0315f4507299c36ee93a10 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/4EQQ-aP6cYumugsf/docs/images/ja-jp/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=4EQQ-aP6cYumugsf&q=85&s=ff81165a00bb70031eb1d590c0325ef0 2500w" />
</Frame>

使用可能なヘルパー関数は次のとおりです。

| 関数                                     | 説明                                                                                                                                                                                                            | 例                                                                                                             |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| toArray(value)                         | 値を配列に変換します                                                                                                                                                                                                    | `{{ functions.toArray('abc') }} // ['abc']`                                                                   |
| toBoolean(value)                       | 値をブール値に変換します                                                                                                                                                                                                  | `{{ functions.toBoolean(1) }} // true `<br /><br />`{{ functions.toBoolean(0) }} // false`                    |
| length(value)                          | パラメーター値の長さを返します                                                                                                                                                                                               | `{{ functions.length('auth0') }} // 5`                                                                        |
| mask(value)                            | 実行時に公開されないように値をマスクします                                                                                                                                                                                         | `{{ functions.mask('my_awesome_secret') }} // ███`                                                            |
| toNumber(value)                        | 値を数値に変換します                                                                                                                                                                                                    | `{{ functions.toNumber('123') }} // 123`                                                                      |
| random(min, max, \[boolean])           | 最小値と最大値の間の乱数を返します                                                                                                                                                                                             | `{{ functions.random(0, 6) }} // 4 `<br /><br />`{{ functions.random(0, 6, true) }} // 3.8523497...`          |
| slice(value, start, end)               | 開始インデックスと終了インデックスの間の値配列または文字列のセクションを返します                                                                                                                                                                      | `{{ functions.slice( 'example', 3, 5) }} // 'mp'`                                                             |
| toString(value)                        | 値を文字列に変換します                                                                                                                                                                                                   | `{{ functions.toString(123) }} // '123'`                                                                      |
| substring(value, start, end)           | 開始インデックスと終了インデックスの間の値のセクションを返します。[sliceとsubstring関数の違い](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring#differences_between_substring_and_slice)についてお読みください | `{{ functions.substring( 'example’', 3, 5) }} // 'mp'`                                                        |
| toTimestamp()                          | 現在のUNIXタイムスタンプを返します                                                                                                                                                                                           | `{{ functions.toTimestamp() }} // 1628761483`                                                                 |
| toTimestamp(date)                      | 指定された日付をUNIX時間で返します                                                                                                                                                                                           | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                       |
| toTimestamp(date)                      | 指定された日付をUNIX時間で返します                                                                                                                                                                                           | `{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }} // 1619776970`                                       |
| replaceAll(value, string, replacement) | パターンに一致するすべての部分を置換文字列に置き換えた新しい文字列を返します。                                                                                                                                                                       | `{{ functions.replaceall('2021-04-30', '-', '/') }} // 2021/04/30`                                            |
| replace(value, string, replacement)    | パターンに一致するすべての部分を置換文字列に置き換えた新しい文字列を返します。パターンが文字列の場合、最初の出現のみが置換されます。                                                                                                                                            | `{{ functions.replace('2021-04-30', '-', '/') }} // 2021/04-30`                                               |
| split(value, Separator, limit?)        | セパレーターで区切られた部分文字列の順序付きリストを返します。                                                                                                                                                                               | `{{ functions.split('2021-04-30', '-') }} // ['2021', '04', '30']`                                            |
| now()                                  | 現在の日付をISO8601形式で返します。                                                                                                                                                                                         | `{{ functions.now() }} // 2021-04-30T10:31:28.576Z`                                                           |
| includes(collection, item, fromIndex?) | 配列のエントリに特定の値が含まれているかどうかを返します。                                                                                                                                                                                 | `{{ functions.includes(['auth0', 'identity', 'authentication'], 'identity') }} // true`                       |
| indexOf(collection, item, fromIndex?)  | 配列内で特定の要素が見つかる最初のインデックスを返します。存在しない場合は-1を返します。                                                                                                                                                                 | `{{ functions.indexOf(['auth0', 'identity', 'authentication'], 'identity') }} // 1`                           |
| merge(base, value)                     | 基本データ型に応じて、結合された配列、オブジェクト、または連結された文字列を返します。                                                                                                                                                                   | `{{ functions.merge(['auth0', 'identity'], ['authentication']) }} // ['auth0', 'identity', 'authentication']` |
| md5(value)                             | MD5 ハッシュ値を返します。                                                                                                                                                                                               | `{{ functions.md5('auth0') }} // 7bbb597...`                                                                  |
| sha1(value)                            | SHA1 ハッシュ値を返します。                                                                                                                                                                                              | `{{ functions.sha1('auth0') }} // b4ec5339...`                                                                |
| sha256(value)                          | SHA256ハッシュ値を返します。                                                                                                                                                                                             | `{{ functions.sha256('auth0') }} // d9082bdc...`                                                              |
| sha512(value)                          | SHA512ハッシュ値を返します。                                                                                                                                                                                             | `{{ functions.sha512('auth0') }} // c0d588069d...`                                                            |
| uuid()                                 | ランダムなv4 UUIDを返します                                                                                                                                                                                             | `{{ functions.uuid() }} // 36b8f84d-df4e-4d49-b662-bcde71a8764`                                               |

## 変数のベストプラクティス

### 意味のあるIDを使用する

フォームフィールドまたはフローアクションを追加すると、IDが自動的に生成されます。

IDをよりわかりやすい値に更新して、含まれる情報を識別できるようにします。たとえば、ユーザーの名を保存するフォームフィールドを作成する場合は、IDを`first_name`に更新します。

### 既存のIDを更新するときは注意してください

変数がすでに使用されており、IDを変更する必要がある場合は、参照した場所を特定し、それに応じてIDを更新して、未定義または空の値にならないようにします。

### フロー実行を確認する

予期しない変数値が表示された場合は、[**実行** ](/docs/ja-jp/customize/forms/flows/flow-execution-and-debugger)ビューを使用して変数のトラブルシューティングを行います。

### オートコンプリートメニューを使用する

オートコンプリートメニューを使用すると、既存の変数を見つけて適切に参照できます。

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=af4bcd60f540b30eabf40cd7ae4c9a50" alt="Dashboard > Actions > Forms > Flows" data-og-width="1361" width="1361" data-og-height="502" height="502" data-path="docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=28d56a6d10df9599a9ff8ca4b0395df5 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=915bb08990b24e3de34452b285ce881b 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=ce1d76f26886c21703b87665104374df 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=d8de03b38a28828d1d904a53d5484f50 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=7627a3bdd0c8e6bba2b1721acab0c72a 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=b48d5881c197dc3de8e49e4a54d566f9 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=a2339a3bb6d5ebbe706cbbc124df2f1e" alt="Dashboard > Actions > Forms > Form" data-og-width="1394" width="1394" data-og-height="630" height="630" data-path="docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=fa7b16a29f8ec36fa360dd349a7ee0fc 280w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=3a7ecadd3aed7651b59fff9243f9d89a 560w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=05ba58a743fd27d50877b24ea2660fa6 840w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=1deb70c9ef48654291b57d8f0c654b39 1100w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=dec326d35ddc30d365d0901f18cf74b7 1650w, https://mintcdn.com/docs-staging-feat-acul-js-sdk-1-7-0-docs/_CA81NFP8CUzf48U/docs/images/ja-jp/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=_CA81NFP8CUzf48U&q=85&s=280f746ae1bdc64eb6f1762fbf4cdecf 2500w" />
</Frame>
