Взаємодія з користувачем
Розберемо базові операції введення/виведення, достатні для отримання і відображення даних від користувача, перш ніж навчимося працювати з HTML-документом.
Виведення даних
Для виведення даних існує два методи: console.log()
і alert()
. В круглих дужках зазначаємо ім'я змінної, значення якої необхідно вивести.
const message = "JavaScript is awesome!";
console.log(message); // JavaScript is awesome!
Спочатку можна вказати будь-який описовий рядок, після чого поставити кому і вказати ім'я змінної.
const username = "Mango";
console.log("Username is ", username); // Username is Mango
Метод alert()
виводить модальне вікно, текст якого відповідає значенню змінної (або літерала), яку передаємо в дужках.
const message = "JavaScript is awesome!";
alert(message);
console
і alert
- частина інтерфейсу window
- глобального об'єкта, доступного при виконанні скрипту на веб-сторінці. Запис window.alert()
зайвий, пишемо просто alert()
або console.log()
. Детальніше про це будемо говорити далі.
Отримання даних
Це також методи з інтерфейсу window
. Результатом свого виконання вони повертають те, що було введено користувачем, тому результат їх роботи можна записати у змінну для подальшого використання.
confirm()
- виводить модальне вікно з повідомленням, і дві кнопки, Ok
і Cancel
. Натискаючи на Ok
, результатом будет true
, натискаючи на
Cancel
- повертається false
.
// Просимо клієнта підтвердити бронювання готелю
// і зберігаємо результат роботи confirm у змінну
const isComing = confirm("Please confirm hotel reservation");
console.log(isComing);
prompt()
- виводить модальне вікно з полем введення і кнопками Ok
і Cancel
.
Натискаючи на Ok
, результатом буде те, що ввів користувач, у випадку Cancel
- повертається null
.
// Запитуємо назву готеля, в якому хотів би зупинитися клієнт
// і зберігаємо результат виклику prompt у змінну.
const hotelName = prompt("Please enter desired hotel name");
console.log(hotelName);
Важлива особливість prompt полягає в тому, що незалежно від того, що ввів користувач, завжди повернеться рядок. Тобто, якщо користувач ввів 5, то повернеться не число 5, а рядок "5".
const value = prompt("Please enter a number!");
console.log(typeof value); // "string"
console.log(value); // "5"