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.
Нашли ошибку или опечатку? Напишите нам.