Приведённый метод уже возвращает нужную строку: Mau, just give pizza! Исправление логики не требуется; результат вызова просто не выводится через console.log.
Переписать метод прототипа String для вывода фразы с именем
Приведённый метод уже возвращает нужную строку: Mau, just give pizza! Исправление логики не требуется; результат вызова просто не выводится через console.log.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо откорректировать приведённый фрагмент JavaScript так, чтобы метод givePizza, добавленный в String.prototype, возвращал строку вида <текст>, just give pizza!.
String.prototype.givePizza = function() {
return `${this}, just give pizza!`;
};
const person = 'Mau';
person.givePizza(); // Mau, just give pizza!
После правки вызов person.givePizza() должен выдавать строку Mau, just give pizza!.
Ответ
Приведённый метод уже возвращает нужную строку: Mau, just give pizza! Исправление логики не требуется; результат вызова просто не выводится через console.log.
Обычная функция получает строку-получатель как this, а шаблонная строка преобразует её в текст. Чтобы увидеть результат вне интерактивной консоли, напишите console.log(person.givePizza()).
Если всё же добавлять учебный метод в прототип, лучше использовать Object.defineProperty с enumerable: false. В прикладном коде предпочтительнее отдельная функция givePizza(text): изменение встроенного прототипа может конфликтовать с библиотеками. Стрелочная функция вместо обычной нарушила бы использование this.