Перейти к содержимому
42 / 51

Как работает toString и valueOf при приведении типов объектов?

Когда JavaScript приводит объект к примитиву, он вызывает valueOf() или toString() в зависимости от «хинта» контекста. Для числового контекста (+obj, сравнения) сначала вызывается valueOf, для строкового (${obj}, конкатенация со строкой) — toString. Если метод не вернул примитив, движок пробует второй. Метод Symbol.toPrimitive перехватывает весь процесс и заменяет оба.

Как работает toString и valueOf при приведении типов объектов? | JScriptiser