Fonction JavaScript bind ()

La méthode de la fonction JavaScript bind () permet à un objet d'emprunter une méthode à un autre objet sans copier.

La syntaxe de la bind()méthode est:

 func.bind(thisArg, arg1,… argN)

Voici funcune fonction.

Paramètres de bind ()

La bind()méthode prend en compte:

  • thisArg- La valeur fournie comme thisparamètre pour func. Il est ignoré si la fonction liée est créée à l'aide d'un nouvel opérateur.
  • arg1,… argN(facultatif) - Arguments à ajouter aux arguments fournis à la fonction liée lors de l'appel func.

Remarques:

  • Lorsque vous utilisez thisArg dans setTimeout, les valeurs primitives sont converties en objets.
  • Si thisArgn'est pas spécifié, le this de la portée en cours d'exécution est traité comme thisArg.

Valeur renvoyée par bind ()

  • Renvoie une copie de la fonction donnée avec la valeur spécifiée et les arguments initiaux (si fournis).

Exemple: utilisation de bind ()

 this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100

Production

 100 1 100

Une fois qu'une méthode est passée quelque part séparément de l'objet - thisest perdue. La création d'une fonction liée à partir de la fonction, en utilisant l'objet d'origine, résout parfaitement ce problème

Lecture recommandée: Appel de la fonction JavaScript ()

Articles intéressants...