Показывать только уведомление

+ является оператором сложения для числовых переменных и оператором конкатенации для строк.

Всякий раз, когда есть строка после +, Javascript будет использовать + как оператор конкатенации и преобразовать (набрал) как можно больше терминов вокруг строки, чтобы она могла их конкатенировать. Это просто поведение Javascript. (Если вы попытались console.log(23 + 2 + "." + 1 + 5 + "02" + 02);, вы получите результат 25.15022. Число 02 было введено в строку 2 перед конкатенированием.

- может быть только вычитанием оператор, поэтому при задании строки он будет неявно изменять тип строки "1" на число 1, если он этого не сделал, нет смысла "1" - 1. Если вы попытались console.log(23 + 2 + 1 + 5 - "02" + 03); вы получите 32 - строка 02 преобразуется в число 2. Термин после - должен быть способен преобразовать в число, если вы попытались console.log(23 - 2 - "." - 1 - 5 - 02 - "02");, вы получите NaN ].

Что еще более важно, если вы попытались console.log(23 + 2 + "." + 1 + 5 - "02" + 03);, он выведет 26.15, где все, перед - было обработано как строка (поскольку оно содержит строку ".", а затем термин после - рассматривается как число.

-2
задан Matt H 13 July 2018 в 22:10
поделиться