Как исправить потерю контекста, если требуется вызвать функцию `f`? Какие ещё есть варианты, кроме `bind`?

Кроме bind, контекст можно передать через call или apply, сохранить вызов методом либо обернуть его в стрелочную функцию.

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

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

Кроме bind, контекст можно передать через call или apply, сохранить вызов методом либо обернуть его в стрелочную функцию.

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

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

Кроме bind, контекст можно передать через call или apply, сохранить вызов методом либо обернуть его в стрелочную функцию.

Например, f.call(obj, arg) и f.apply(obj, [arg]) вызывают обычную функцию с this=obj. Обёртка () => obj.f() сохраняет вызов через объект. Для стрелочной функции this лексический: call, apply и bind его не заменят.

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

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

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

Подробнее