Назад к вопросам
Транснефть
Middle
2
Чем отличаются call, apply и bind?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
call, apply и bind — методы для управления контекстом this в JavaScript.
- call вызывает функцию с указанным контекстом и аргументами, переданными по отдельности.
function greet(greeting) {
console.log(greeting + ', ' + this.name);
}
const person = { name: 'Иван' };
greet.call(person, 'Привет'); // Привет, Иван
- apply похож на call, но аргументы передаются в виде массива.
greet.apply(person, ['Здравствуйте']); // Здравствуйте, Иван
- bind не вызывает функцию сразу, а возвращает новую функцию с привязанным контекстом и, опционально, аргументами.
const greetPerson = greet.bind(person, 'Добрый день');
greetPerson(); // Добрый день, Иван
Таким образом, call и apply вызывают функцию сразу, а bind создаёт новую функцию с фиксированным контекстом для последующего вызова.