call и apply сразу вызывают функцию с заданным this; bind возвращает новую функцию с закреплённым контекстом.
Как привязать контекст (this) к функции? Расскажи про методы call, apply, 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 имеет отдельные правила контекста.