Una función es un conjunto de sentencias que toman entradas, hacen algún cálculo específico y producen salidas. Hay varios escenarios en la programación en los que necesitamos preconfigurar esta palabra clave o argumentos de función y podemos hacerlo fácilmente en JavaScript con la ayuda del método bind() . El método bind() crea una nueva función basada en la función en la que se llama. Usando el método bind(), podemos preconfigurar esta palabra clave y los argumentos para la función usando la sintaxis que se muestra a continuación.
Sintaxis:
const newFunction = oldFunction.bind(thisArg, arg1, ag2, ..., argN)
Usando la sintaxis anterior, se crea una nueva función basada en la función anterior con esta palabra clave configurada en thisArg y los argumentos de la función están preconfigurados como arg1 , agr2 , etc. El ejemplo mencionado a continuación demuestra el uso del método bind() con la ayuda de un ejemplo.
Ejemplo:
Javascript
<script> const car = { brand: 'Lamborghini', }; // As of now, 'this' keyword refers // to 'window' object. const printDetail = function (model, topSpeed) { console.log(`${this.brand} ${model} has a top speed of ${topSpeed} mph`); }; // Calling the function without using bind which // means 'this' still refers to 'window' object // so accessing this.brand will give undefined printDetail('Diablo Coatl', 239); // Creating a new function based on printDetail // with 'this' keyword referring to car object // so accessing this.brand will give 'Lamborgini' const lamboPrintDetail = printDetail.bind(car); lamboPrintDetail('Diablo VTTT', 222); // Creating another function based on printDetail // with it's arguments pre-configured and 'this' // keyword referring to car object const reventonPrintDetail = printDetail.bind(car, 'Reventon', 221); // Since the arguments are preconfigured so we don't // need to pass any argument to call this function reventonPrintDetail(); </script>
Producción:
undefined Diablo Coatl has a top speed of 239 mph Lamborghini Diablo VTTT has a top speed of 222 mph Lamborghini Reventon has a top speed of 221 mph
Publicación traducida automáticamente
Artículo escrito por shivamsingh00141 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA