Назад к вопросам
Middle
73
questionbank
В чем заключается разница между методами bind и call в JavaScript?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
bind создает новую функцию, в которой this контекст фиксирован. Она не вызывает оригинальную функцию немедленно.
call вызывает оригинальную функцию немедленно, устанавливая this контекст и передавая аргументы по отдельности.
Пример:
const person = { name: 'Иван' };
function greet(greeting, punctuation) {
return `${greeting}, ${this.name}${punctuation}`;
}
// Использование call - вызывает функцию сразу
console.log(greet.call(person, 'Привет', '!')); // Привет, Иван!
// Использование bind - создает новую функцию
const boundGreet = greet.bind(person, 'Здравствуй');
console.log(boundGreet('?')); // Здравствуй, Иван?
console.log(boundGreet('!')); // Здравствуй, Иван!