В этой статье вы узнаете о методах alert, confirm и prompt. Каждый из них вызывает модальное окно, но все они отличны и используются для различных ситуаций.
Далее рассмотрим отдельно каждый из методов, особенности синтаксиса и работы метода prompt и общую особенность методов alert, confirm и prompt.
Метод alert — Окно предупреждение
Первый способ взаимодействия JavaScript с пользователем — это метод alert.
Метод alert вызывает модальное окно с указанным текстом. Это окно встроено в браузер.
Метод/команда alert используется для предупреждения пользователя о чем-то важном. Например, чтобы он не покидал страницу, иначе, введенные им данные не будут сохранены.
alert('Привет, мир!');

Метод confirm — Да или Нет
Второй способ взаимодействия JavaScript с пользователем — это метод confirm
.
Метод confirm
вызывает модальное окно с указанным текстом и с кнопками ОК и Отмена.
Метод/команда confirm
используется для того, чтобы получить от пользователя ответ ДА или НЕТ.
В зависимости от ответа команда
confirm
возвращает булевы значенияtrue
илиfalse
.
const result = confirm('Ты здесь?');
console.log(result);


Метод prompt — Поле для ввода
Третий способ взаимодействия с пользователем — метод prompt
.
Метод prompt
вызывает модальное окно с указанным текстом, полем для ввода данных (текст, числа или оно уже может содержать информацию, которую можно менять), кнопки ОК и Отмена.
Команда
promp
t используется если от пользователя нужно получить конкретный ответ в поле для ввода данных.
const answ = prompt ('Вам есть 18 лет?', 'Здесь может быть подсказка или ответ');
console.log(answ);

Метод
prompt
может содержать один или два параметра. Первый параметр – это текст (утверждение или вопрос) отображаемый в модальном окне.Второй параметр — это значение, которое по умолчанию располагается в поле для ввода.
На сегодняшний день принято: даже если второй параметр не указывается, то как видно из примера, правильно после первого параметра и после запятой оставлять пустые кавычки.
const answ = prompt ('Вам есть 18 лет?', '');
console.log(answ);
Чтобы ни ввел пользователь в поле для ввода: число или текст, в любом случае метод prompt возвращает строку string
. То есть в переменной answer в любом случае будет тип данных строка.

Даже если просим пользователя ввести число, то все равно получим тип данных string
.
const answ = prompt ('Введите ваш возраст', '');
console.log(typeof(answ));

Вся информация, приходящая от пользователя — это всегда строка.
Однако если хотим принимать данные как число number
то напрашивается один из вариантов динамической типизации.