Funzione JavaScript bind ()

Il metodo bind () della funzione JavaScript consente a un oggetto di prendere in prestito il metodo da un altro oggetto senza copiarlo.

La sintassi del bind()metodo è:

 func.bind(thisArg, arg1,… argN)

Ecco funcuna funzione.

Parametri bind ()

Il bind()metodo comprende:

  • thisArg- Il valore fornito come thisparametro per func. Viene ignorato se la funzione associata viene creata utilizzando l' operatore new .
  • arg1,… argN(opzionale) - Argomenti da anteporre agli argomenti forniti alla funzione associata durante la chiamata func.

Appunti:

  • Quando si utilizza thisArg all'interno di setTimeout, i valori primitivi vengono convertiti in oggetti.
  • Se thisArgnon è specificato, il this dell'ambito di esecuzione viene considerato come thisArg.

Valore restituito da bind ()

  • Restituisce una copia della funzione data con il valore specificato e gli argomenti iniziali (se forniti).

Esempio: utilizzo di 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

Produzione

 100 1 100

Una volta che un metodo viene passato da qualche parte separatamente dall'oggetto, thisviene perso. La creazione di una funzione associata dalla funzione, utilizzando l'oggetto originale, risolve perfettamente questo problema

Letture consigliate: chiamata funzione JavaScript ()

Articoli interessanti...