Тут говорится, что в определённых ситуациях значения преобразуются в строки под капотом. Например, когда мы передаём объект в alert() или используем скобочную нотацию, чтобы создать новое свойство объекта, наш объект преобразуется в строку "[object Object]". Как они преобразуются, ты спросишь? Я отвечу, что у всех значений, кроме null`и `undefined, есть так называемые Wrapper Objects или протопипы. При их создании значения (будь то строки, числа, массивы или объекты) помещаются в соответсвующие прототипы и наследуют все их методы, в том числе и toString(), который преобразуют любое значение в строковый формат.
Обсуждают сегодня