Junior — Middle
Expliquez les différences entre les méthodes call et bind en JavaScript et comment elles influencent le contexte d'exécution de la fonction.
sobes.tech IA
Réponse de l'IA
Методы call и bind в JavaScript используются для управления контекстом (this) при вызове функции, но работают по-разному:
callвызывает функцию сразу, передавая ей контекст и аргументы. Например:
function greet(greeting) {
console.log(greeting + ', ' + this.name);
}
const person = { name: 'Иван' };
greet.call(person, 'Привет'); // Выведет: Привет, Иван
bindвозвращает новую функцию с привязанным контекстом, которую можно вызвать позже:
const boundGreet = greet.bind(person);
boundGreet('Здравствуйте'); // Выведет: Здравствуйте, Иван
Таким образом, call выполняет функцию сразу с заданным контекстом, а bind создаёт новую функцию с фиксированным контекстом для последующего вызова.