Для чего используются методы bind, call и apply и в чём их различия?

call и apply вызывают функцию немедленно, а bind создаёт новую; все три работают с контекстом обычной функции.

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

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

call и apply вызывают функцию немедленно, а bind создаёт новую; все три работают с контекстом обычной функции.

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

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

call и apply вызывают функцию немедленно, а bind создаёт новую; все три работают с контекстом обычной функции.

Пример: sum.call(ctx, 1, 2) и sum.apply(ctx, [1, 2]) отличаются формой передачи аргументов. sum.bind(ctx, 1) возвращает функцию с сохранёнными this и первым аргументом. Стрелочную функцию нельзя перепривязать таким способом, потому что её this лексический.

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

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

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

Подробнее