Вопрос проверяет понимание механизма временного преобразования примитивов в объекты и работы прототипов.
Короткий ответ
Строки — это примитивы, но при обращении к методу JavaScript временно оборачивает строку в объект String. Этот объект содержит методы, определённые в String.prototype. После вызова метода временный объект сразу удаляется. Поэтому методы у строк выглядят как “родные”, хотя сами строки объектами не являются.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.