JS Core

alert, prompt, confirm

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

Начальный (Beginner)

Кратко

alert() показывает всплывающее окно с сообщением. prompt() запрашивает текст у пользователя. confirm() задаёт вопрос с кнопками OK/Отмена. Это простейший способ взаимодействия с пользователем.


Подробно

JavaScript имеет три встроенные функции для простого взаимодействия:

alert(message) — показывает окно с текстом и кнопкой OK. Блокирует страницу до нажатия.

prompt(message, defaultValue) — показывает окно с полем ввода. Возвращает текст, который ввёл пользователь, или null при отмене.

confirm(message) — показывает окно с вопросом и кнопками OK/Отмена. Возвращает true или false.

Важно: все три функции блокируют выполнение кода. Пока пользователь не закроет окно, следующая строка не выполнится.

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


Ментальная модель

alert — как крикнуть «Эй!». prompt — как спросить «Как тебя зовут?». confirm — как задать вопрос «Ты уверен?» с кнопками Да/Нет.


Примеры

**Самый простой:**

javascript
alert('Привет!');
// Покажет окно с текстом «Привет!» и кнопкой OK

alert() — самый простой способ показать сообщение пользователю.

**Простой:**

javascript
let name = prompt('Как тебя зовут?', 'Гость');
console.log('Привет, ' + name + '!');

// Если пользователь введёт «Анна» — выведет: Привет, Анна!
// Если нажмёт Отмену — name будет null

prompt() возвращает то, что ввёл пользователь. Второй аргумент — значение по умолчанию.

**Реальный пример:**

javascript
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) — условия: как код принимает решения.

Материалы курса JS Core — PROlab Academy.