Middle
Wat is het verschil tussen de methoden bind en call in JavaScript?
sobes.tech AI
Antwoord van 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('!')); // Здравствуй, Иван!