JavaScript-functie bind ()

Met de JavaScript-functie bind () - methode kan een object een methode lenen van een ander object zonder te kopiëren.

De syntaxis van de bind()methode is:

 func.bind(thisArg, arg1,… argN)

Hier funcis een functie.

bind () Parameters

De bind()methode omvat:

  • thisArg- De waarde die is opgegeven als thisparameter voor func. Het wordt genegeerd als de gebonden functie is gemaakt met een nieuwe operator.
  • arg1,… argN(optioneel) - Argumenten die moeten worden toegevoegd aan argumenten die aan de gebonden functie worden verstrekt bij het aanroepen func.

Opmerkingen:

  • Bij gebruik van thisArg in setTimeout worden primitieve waarden geconverteerd naar objecten.
  • Indien thisArgniet gespecificeerd, wordt dit van de uitvoerende scope behandeld als thisArg.

Retourwaarde van bind ()

  • Retourneert een kopie van de gegeven functie met de opgegeven deze waarde en initiële argumenten (indien opgegeven).

Voorbeeld: bind () gebruiken

 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

Uitvoer

 100 1100

Zodra een methode ergens los van het object wordt doorgegeven, thisgaat het verloren. Door een gebonden functie van de functie te maken, met behulp van het originele object, wordt dit probleem netjes opgelost

Aanbevolen literatuur: JavaScript-functieaanroep ()

Interessante artikelen...