При доступе к свойствам примитива JavaScript использует поведение соответствующей объектной обёртки, что позволяет находить методы в прототипе. Сам примитив от этого не становится постоянным объектом.
У примитивных типов можно вызывать встроенные методы, например toString. Благодаря чему это возможно?
При доступе к свойствам примитива JavaScript использует поведение соответствующей объектной обёртки, что позволяет находить методы в прототипе. Сам примитив от этого не становится постоянным объектом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При доступе к свойствам примитива JavaScript использует поведение соответствующей объектной обёртки, что позволяет находить методы в прототипе. Сам примитив от этого не становится постоянным объектом.
Например, строка имеет доступ к методам String.prototype. Присвоенное примитиву произвольное свойство не сохраняется как у обычного объекта и в strict mode может дать ошибку. null и undefined не поддерживают такой доступ: вызов их метода приводит к TypeError.