Отдельная ссылка cache.clear теряет нужный receiver при обычном вызове и может вызвать TypeError для метода Map.
Если передать clearCache не через замыкание (callback), а как прямую ссылку на метод map.clear (например clearCache = cache.clear), будет ли это работать корректно? Как это исправить?
Отдельная ссылка cache.clear теряет нужный receiver при обычном вызове и может вызвать TypeError для метода Map.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Отдельная ссылка cache.clear теряет нужный receiver при обычном вызове и может вызвать TypeError для метода Map.
Используйте const clearCache = () => cache.clear() или const clearCache = cache.clear.bind(cache). Первый вариант обращается к переменной cache во время вызова, bind закрепляет конкретный объект. Различие важно, если cache позже переназначается.