JavaScript предоставляет три простых метода для взаимодействия с пользователем: alert(), confirm() и prompt(). Эти функции встроены в глобальный объект window и доступны в любом браузере. Они позволяют быстро отобразить сообщение, запросить подтверждение действия или получить текстовый ввод.

С 29 января 2018 года эти методы находятся в статусе «Widely Available» по Baseline, то есть их можно использовать без ограничений на совместимость.

Как это работает

🚀 Сегодня вам бесплатно доступен тренажёр по HTML и CSS.

Все три метода показывают модальные диалоги — то есть окна, которые блокируют выполнение кода до тех пор, пока пользователь не закроет окно. Это делает их полезными в простых сценариях, но также означает, что они могут нарушать пользовательский опыт, особенно в интерфейсах с высокой интерактивностью.

Примеры

1. Уведомление с alert()

window.alert('Это сообщение для пользователя');

Браузер покажет модальное окно с текстом и кнопкой «ОК». Код дальше не выполнится, пока пользователь не нажмёт кнопку.

2. Подтверждение с confirm()

if (window.confirm('Вы хотите продолжить?')) {
  // Пользователь нажал ОК
} else {
  // Пользователь нажал Отмена
}

Функция возвращает true, если пользователь подтвердил, и false, если отменил.

3. Ввод данных с prompt()

const name = window.prompt('Введите ваше имя');

Появится окно с текстовым полем и кнопками «ОК» и «Отмена». Возвращается введённый текст или null, если пользователь ничего не ввёл и закрыл окно.

Когда использовать

Эти методы удобны в демонстрациях, отладке или очень простых интерфейсах. Например, они часто используются в обучающих примерах, чтобы быстро показать, как работает взаимодействие с пользователем.

Но в реальных проектах с продуманным UI их почти всегда заменяют кастомными модальными окнами. Это даёт больше контроля над внешним видом, поведением и доступностью. Всплывающее окно, показанное через alert, не стилизуется, не фокусируется и не всегда удобно для людей, использующих скринридеры или клавиатуру.

Заключение

alert(), confirm() и prompt() — это быстрые и простые инструменты для отображения модальных сообщений в браузере. Они полезны для быстрых проверок, экспериментов или начального обучения, но в продакшене их стоит заменять на более управляемые и удобные модальные компоненты.

Больше обзоров веб-функций — в телеграм-канале HTML Academy.

Нашли ошибку или опечатку? Напишите нам.