Виправте додавання
Нижче наведено код, що просить користувача ввести два числа і відображає їхню суму.
Він працює неправильно. Код у прикладі виводить 12
(для початкових значень у полях вводу).
У чому помилка? Виправте її. Результат має бути 3
.
let a = prompt("Перше число?", 1);
let b = prompt("Друге число?", 2);
alert(a + b); // 12
Причина в тому, що вікно запиту повертає ввід користувача як рядок.
Отже, змінні отримують значення "1"
і "2"
відповідно.
let a = "1"; // prompt("Перше число?", 1);
let b = "2"; // prompt("Друге число?", 2);
alert(a + b); // 12
Нам треба перетворити рядки на числа перед застосуванням оператора +
. Наприклад, за допомогою Number()
або вставлення +
перед ними.
Вставити +
можна безпосередньо перед prompt
:
let a = +prompt("Перше число?", 1);
let b = +prompt("Друге число?", 2);
alert(a + b); // 3
Або всередині alert
:
let a = prompt("Перше число?", 1);
let b = prompt("Друге число?", 2);
alert(+a + +b); // 3
В останньому варіанті унарний і бінарний +
використовуються разом. Виглядає химерно, чи не так?