Эти вопросы возникают постоянно из-за системы ввода текста в JavaScript. Люди думают, что получают число, когда получают строку числа.
Вот некоторые вещи, которые вы можете увидеть, которые используют способ, которым JavaScript работает со строками и числами. Лично мне хотелось бы, чтобы JavaScript использовал какой-то символ, отличный от + , для объединения строк.
Шаг (1) Объединить «1», «2», «3» в «123»
result = "1" + "2" + "3";
Шаг (2) Преобразовать «123» в 123
result = +"123";
Шаг (3) Добавить 123 + 100 = 223
result = 123 + 100;
Шаг (4) Преобразовать 223 в «223»
result = "" + 223;
Если вы знаете, ПОЧЕМУ это работает, у вас меньше шансов столкнуться с выражениями JavaScript.