Переписать метод прототипа String для вывода фразы с именем

Приведённый метод уже возвращает нужную строку: Mau, just give pizza! Исправление логики не требуется; результат вызова просто не выводится через console.log.

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

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

Приведённый метод уже возвращает нужную строку: 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.

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

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

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

Подробнее