Introduction
Dans ce laboratoire, nous allons explorer le concept de liaison de méthodes d'objet en JavaScript. Nous allons créer une fonction qui lie une méthode donnée d'un objet au contexte de cet objet, nous permettant d'appeler la méthode avec tous les arguments supplémentaires que nous fournissons. À la fin de ce laboratoire, vous aurez une compréhension plus approfondie de la manière de manipuler les objets et leurs méthodes en JavaScript.
Fonction pour lier une méthode d'objet
Pour créer une fonction qui lie une méthode d'objet à son contexte et optionnellement ajoute des paramètres supplémentaires au début, suivez ces étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer la programmation. - Définissez une fonction qui prend trois paramètres : le contexte de l'objet, la clé de la méthode et tous les arguments supplémentaires à ajouter au début.
- La fonction devrait renvoyer une nouvelle fonction qui utilise
Function.prototype.apply()pour lier la méthode au contexte de l'objet. - Utilisez l'opérateur de propagation (
...) pour ajouter tous les paramètres supplémentaires fournis aux arguments. - Voici une implémentation exemple :
const bindKey =
(context, fn, ...boundArgs) =>
(...args) =>
context[fn].apply(context, [...boundArgs, ...args]);
- Pour tester la fonction, créez un objet avec une méthode et liez-la à l'aide de
bindKey(). Ensuite, appelez la méthode liée avec quelques arguments.
const freddy = {
user: "fred",
greet: function (greeting, punctuation) {
return greeting + " " + this.user + punctuation;
}
};
const freddyBound = bindKey(freddy, "greet");
console.log(freddyBound("hi", "!")); // 'hi fred!'
Résumé
Félicitations ! Vous avez terminé le laboratoire sur la liaison de méthodes d'objet. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.