Вопрос простой до ужаса, но я пока не смог понять логику, помогите разобраться. Когда суммирую два числа, то получается суммируются строки, а когда умножаю, то число, как так?
function summa(number1, number2) {
var total = number1 + number2;
return total;
}
var n1 = prompt("Введите первое число!");
var n2 = prompt("Введите второе число!");
document.write(summa(n1, n2));
При операциях умножения\деления\вычитании js переводит строку в число, при сложении - нет
function summa(number1, number2) {
var total = number1 + number2;
return total;
}
var n1 = +prompt("Введите первое число!");
var n2 = +prompt("Введите второе число!");
document.write(summa(n1, n2));
при вычитании тоже приводит к числу. только сложение - нет. потому что "+" - это помимо математической операции сложения в javascript является еще и оператором конкатенации строк.
Так эта проблема, которая до сих пор не решена. Необходим оператор конкатенации строк, из свободных символов есть ~, ^, также можно задать какое-нибудь сочетание, например, <>, <->. Например:
let str = "abc" ~ "def" ~ 123;
let str1 = "abc" <> "def" <> 123;
let str2 = "abc" ^ "def" ^ 123;