Если передать clearCache не через замыкание (callback), а как прямую ссылку на метод map.clear (например clearCache = cache.clear), будет ли это работать корректно? Как это исправить?

Отдельная ссылка cache.clear теряет нужный receiver при обычном вызове и может вызвать TypeError для метода Map.

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

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

Отдельная ссылка cache.clear теряет нужный receiver при обычном вызове и может вызвать TypeError для метода Map.

Подробный разбор

Ответ с пояснениями

Отдельная ссылка cache.clear теряет нужный receiver при обычном вызове и может вызвать TypeError для метода Map.

Используйте const clearCache = () => cache.clear() или const clearCache = cache.clear.bind(cache). Первый вариант обращается к переменной cache во время вызова, bind закрепляет конкретный объект. Различие важно, если cache позже переназначается.

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

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

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

Подробнее