en.javascript.info/1-js/6-objects-more/2-object-conversion/2-tostring-valueof/solution.md
2015-01-14 10:23:45 +03:00

828 B
Raw Blame History

Первый alert(foo)

Возвращает строковое представление объекта, используя toString, т.е. "foo".

Второй alert(foo + 1)

Оператор '+' преобразует объект к примитиву, используя valueOf, так что результат: 3.

Третий alert(foo + '3')

То же самое, что и предыдущий случай, объект превращается в примитив 2. Затем происходит сложение 2 + '3'. Оператор '+' при сложении чего-либо со строкой приводит и второй операнд к строке, а затем применяет конкатенацию, так что результат -- строка "23".