Скорее всего, вы уже видели этот мем. Сегодня мы увидим, как + и - работают в JavaScript в отношении приведения типов. Посмотрим, как работает оператор +.
В спецификации ECMAScript говорится, что если хотя бы тип одного из двух операндов является строкой, то оператор + преобразует оба операнда в строку, а затем выполняет конкатенацию строк.
Если тип обоих операндов - Число, тогда JavaScript выполняет числовое сложение.
На изображении 1 у нас x = «11» и y = 1, здесь тип x - строка. Итак, x + y становится «11» + »1. В результате конкатенации получаем «111».
Теперь посмотрим, как работает оператор -.
В спецификации ECMAScript сказано, что оператор - пытается преобразовать все операнды в число. Итак, осталось 11–1. В результате числового вычитания получаем 10.
Больше контента на plainenglish.io