Как привязать контекст (this) к функции? Расскажи про методы call, apply, bind и их отличия.

call и apply сразу вызывают функцию с заданным this; bind возвращает новую функцию с закреплённым контекстом.

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

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

call и apply сразу вызывают функцию с заданным this; bind возвращает новую функцию с закреплённым контекстом.

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

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

call и apply сразу вызывают функцию с заданным this; bind возвращает новую функцию с закреплённым контекстом.

Аргументы передают как fn.call(obj, a, b) или fn.apply(obj, [a, b]). Вызов fn.bind(obj, a) создаёт функцию с частично заданными аргументами. Стрелочная функция берёт this из внешней области: эти методы его не переопределят. Вызов связанной функции через new имеет отдельные правила контекста.

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

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

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

Подробнее