Для чистой функции без this мемоизация сохранится, но метод, зависящий от this, при обычном вызове может работать неверно.
Будет ли работать мемоизация, если вызвать исходную функцию как обычную функцию вместо сохранения контекста this? Почему?
Для чистой функции без this мемоизация сохранится, но метод, зависящий от this, при обычном вызове может работать неверно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для чистой функции без this мемоизация сохранится, но метод, зависящий от this, при обычном вызове может работать неверно.
Обёртка должна вызывать исходную функцию через fn.apply(this, args). Если результат зависит от объекта-получателя, this включают в ключ кеша вместе с аргументами. Иначе одинаковые аргументы разных экземпляров могут вернуть чужой результат.