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