Вопрос проверяет, умеешь ли ты управлять this и понимаешь ли разницу между “фиксированием контекста” и лексическим this.
Короткий ответ
Контекст можно привязать через bind, call, apply, через обертку (() => fn.call(obj)), или используя стрелочную функцию там, где нужен this извне. bind возвращает новую функцию с “приклеенным” this и (опционально) аргументами. Стрелочная функция не имеет собственного this и берет this из внешней области видимости, поэтому ее нельзя “перебиндить”. bind удобен, когда нужна повторно используемая функция с фиксированным this, а стрелка — когда важно сохранить внешний контекст (например, внутри метода при передаче колбэка).
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.