828 B
828 B
Первый alert(foo)
Возвращает строковое представление объекта, используя toString
, т.е. "foo"
.
Второй alert(foo + 1)
Оператор '+'
преобразует объект к примитиву, используя valueOf
, так что результат: 3
.
Третий alert(foo + '3')
То же самое, что и предыдущий случай, объект превращается в примитив 2
. Затем происходит сложение 2 + '3'
. Оператор '+'
при сложении чего-либо со строкой приводит и второй операнд к строке, а затем применяет конкатенацию, так что результат -- строка "23"
.