Исправьте сложение
важность: 5
Ниже приведён код, который запрашивает у пользователя два числа и показывает их сумму.
Он работает неправильно. Код в примере выводит 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
В последнем варианте унарный и бинарный +
используются вместе. Выглядит забавно, правда?