Скорее всего, вы уже видели этот мем. Сегодня мы увидим, как + и - работают в JavaScript в отношении приведения типов. Посмотрим, как работает оператор +.

В спецификации ECMAScript говорится, что если хотя бы тип одного из двух операндов является строкой, то оператор + преобразует оба операнда в строку, а затем выполняет конкатенацию строк.

Если тип обоих операндов - Число, тогда JavaScript выполняет числовое сложение.

На изображении 1 у нас x = «11» и y = 1, здесь тип x - строка. Итак, x + y становится «11» + »1. В результате конкатенации получаем «111».

Теперь посмотрим, как работает оператор -.

В спецификации ECMAScript сказано, что оператор - пытается преобразовать все операнды в число. Итак, осталось 11–1. В результате числового вычитания получаем 10.

Больше контента на plainenglish.io