Junior
Que fait la fonction `Function.prototype.bind` et à quoi sert-elle?
sobes.tech IA
Réponse de l'IA
Function.prototype.bind crée une nouvelle fonction qui, lorsqu'elle est appelée, aura un contexte (this) fixé et, éventuellement, des arguments prédéfinis qui précèdent tous les arguments passés lors de l'appel.
Ceci est utile pour:
- conserver le contexte lors du passage de méthodes en tant que callbacks ou gestionnaires d'événements.
- appliquer partiellement (currying) des fonctions.
// Exemple de conservation du contexte
const user = {
name: 'Alice',
greet: function() {
console.log(`Bonjour, ${this.name} !`);
}
};
const greetUser = user.greet;
greetUser(); // Bonjour, undefined ! (contexte perdu)
const bindedGreetUser = user.greet.bind(user);
bindedGreetUser(); // Bonjour, Alice ! (contexte conservé)
// Exemple d'application partielle
function multiply(a, b) {
return a * b;
}
const multiplyByTwo = multiply.bind(null, 2); // null comme contexte, car il n'est pas nécessaire
console.log(multiplyByTwo(5)); // 10