Кратко
alert() показывает всплывающее окно с сообщением. prompt() запрашивает текст у пользователя. confirm() задаёт вопрос с кнопками OK/Отмена. Это простейший способ взаимодействия с пользователем.
Подробно
JavaScript имеет три встроенные функции для простого взаимодействия:
alert(message) — показывает окно с текстом и кнопкой OK. Блокирует страницу до нажатия.
prompt(message, defaultValue) — показывает окно с полем ввода. Возвращает текст, который ввёл пользователь, или null при отмене.
confirm(message) — показывает окно с вопросом и кнопками OK/Отмена. Возвращает true или false.
Важно: все три функции блокируют выполнение кода. Пока пользователь не закроет окно, следующая строка не выполнится.
В современном JavaScript эти функции используются редко — вместо них создают кастомные модальные окна. Но для обучения и быстрой проверки идей они удобны.
Ментальная модель
alert — как крикнуть «Эй!». prompt — как спросить «Как тебя зовут?». confirm — как задать вопрос «Ты уверен?» с кнопками Да/Нет.
Примеры
**Самый простой:**
alert('Привет!');
// Покажет окно с текстом «Привет!» и кнопкой OKalert() — самый простой способ показать сообщение пользователю.
**Простой:**
let name = prompt('Как тебя зовут?', 'Гость');
console.log('Привет, ' + name + '!');
// Если пользователь введёт «Анна» — выведет: Привет, Анна!
// Если нажмёт Отмену — name будет nullprompt() возвращает то, что ввёл пользователь. Второй аргумент — значение по умолчанию.
**Реальный пример:**
let confirmed = confirm('Вы хотите удалить файл?');
if (confirmed) {
console.log('Файл удалён');
} else {
console.log('Удаление отменено');
}confirm() возвращает true при OK и false при Отмене. Это удобно для подтверждения опасных действий.
Частые ошибки
**Неправильно:** Использовать alert() в продакшен-коде
**Почему:** alert() блокирует всю страницу и выглядит непрофессионально. Пользователи ненавидят всплывающие окна.
**Правильно:** alert/prompt/confirm — для обучения и быстрой отладки. В продакшене — кастомные модальные окна.
**Неправильно:** Забывать, что prompt() может вернуть null
**Почему:** Если пользователь нажмёт Отмену, prompt() вернёт null, а не пустую строку.
**Правильно:** Всегда проверяйте: if (name !== null) { ... }
**Неправильно:** Думать, что alert() что-то возвращает
**Почему:** alert() всегда возвращает undefined. Он ничего не возвращает — только показывает сообщение.
**Правильно:** alert() — для вывода. prompt() — для ввода. confirm() — для подтверждения.
Важно запомнить
- alert() показывает сообщение, prompt() запрашивает ввод, confirm() задаёт вопрос
- Все три блокируют выполнение кода
- prompt() возвращает null при отмене
- alert() возвращает undefined (ничего не возвращает)
- В продакшене используйте кастомные модальные окна
Связь
Назад: Вы умеете структурировать код (J5) — теперь вы можете взаимодействовать с пользователем.
Вперёд: Следующий урок (J7) — условия: как код принимает решения.