Вызов пользовательского метода, добавленного в прототип String

Вызов вернёт строку 'Just give pizza'. Стрелочная функция здесь не использует this, поэтому её лексическая привязка не мешает результату.

Короткий ответ

Что ответить на собеседовании

Вызов вернёт строку 'Just give pizza'. Стрелочная функция здесь не использует this, поэтому её лексическая привязка не мешает результату.

Подробный разбор

Ответ с пояснениями

Условие

Какой будет результат выполнения следующего фрагмента кода?

String.prototype.orderPizza = () => 'Just give pizza';

const userName = 'Mau';

userName.orderPizza();

Ответ

Вызов вернёт строку 'Just give pizza'. Стрелочная функция здесь не использует this, поэтому её лексическая привязка не мешает результату.

Метод находится через String.prototype при обращении к строковому примитиву. Имя Mau не подставляется: тело функции возвращает постоянную строку и не принимает значение строки-получателя.

Без console.log или интерактивного отображения результата программа сама ничего не печатает. Если метод должен обращаться к строке через this, нужна обычная функция. Добавлять методы во встроенные прототипы ради подобной операции в рабочем приложении обычно не требуется — отдельная функция проще и не создаёт глобальных конфликтов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее