Enlace de función de JavaScript ()

El método bind () de la función JavaScript permite que un objeto tome prestado el método de otro objeto sin copiarlo.

La sintaxis del bind()método es:

 func.bind(thisArg, arg1,… argN)

Aquí funchay una función.

Parámetros bind ()

El bind()método incluye:

  • thisArg- El valor proporcionado como thisparámetro para func. Se ignora si la función vinculada se crea utilizando un operador nuevo .
  • arg1,… argN(opcional): argumentos para anteponer a los argumentos proporcionados a la función enlazada al invocar func.

Notas:

  • Cuando se usa thisArg dentro de setTimeout, los valores primitivos se convierten en objetos.
  • Si thisArgno se especifica, el this del ámbito de ejecución se trata como thisArg.

Valor de retorno de bind ()

  • Devuelve una copia de la función dada con el valor especificado y los argumentos iniciales (si se proporcionan).

Ejemplo: usar 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

Salida

 100 1100

Una vez que un método se pasa a algún lugar separado del objeto, thisse pierde. La creación de una función vinculada a partir de la función, utilizando el objeto original, resuelve perfectamente este problema

Lectura recomendada: llamada a la función JavaScript ()

Articulos interesantes...