Вызов вернёт строку 'Just give pizza'. Стрелочная функция здесь не использует this, поэтому её лексическая привязка не мешает результату.
Вызов пользовательского метода, добавленного в прототип String
Вызов вернёт строку '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, нужна обычная функция. Добавлять методы во встроенные прототипы ради подобной операции в рабочем приложении обычно не требуется — отдельная функция проще и не создаёт глобальных конфликтов.