# JavaScript

Выполняет ваш код на устройстве человека: открыть ссылку, скопировать текст в буфер обмена, поделиться, закрыть приложение, записать переменные. Когда приложение доходит до блока, оно выполняет код и идёт дальше по выходу «Выполнено» или «Ошибка».

![Настройки блока «JavaScript»](https://support.watbot.ru/_media/ru/02-mini-apps/_images/js-block.webp?v=1791781230)

## Настройки

- **«Код»** — тело асинхронной функции с объектом `app`. До 20 000 символов.
- **«Время на выполнение, секунд»** — от 1 до 60, по умолчанию 10.
- **«Переменная результата»** — что вернул `return`.
- **«Переменная ошибки»** — текст ошибки.
- **«Что может менять код»** — переключатель «Менять только перечисленное» и списки разрешённых переменных и тегов. Включён у нового блока.

Что доступно коду в объекте `app`, как работает ограничение и пример кода — на странице [Код в приложении](https://support.watbot.ru/mini-apps/code#блок-javascript).

## Выходы

- **«Выполнено»** — код отработал.
- **«Ошибка»** — код выбросил ошибку или не уложился во время.

## Особенности

- Код выполняется на устройстве, поэтому разбирающийся человек может подделать его результат. Не выключайте ограничение, если от переменных и тегов зависят доступ, скидки или рассылки.
- Подстановки `{{ имя }}` в коде не работают: значения читайте через `app.variables.get()`.
