Introducción
En este laboratorio, exploraremos cómo llamar a funciones con contexto utilizando una clausura en JavaScript. Aprenderemos cómo pasar una clave y un conjunto de argumentos a una función y luego llamarla con el contexto dado. A través de ejemplos prácticos, veremos cómo esta técnica se puede utilizar para simplificar el código y hacerlo más legible.
Cómo llamar a funciones con contexto en JavaScript
Para ejecutar código en Node.js, abre la Terminal/SSH y escribe node. Si quieres llamar a una función con un contexto específico y un conjunto de argumentos en JavaScript, puedes utilizar una clausura. Aquí te muestro cómo hacerlo:
- Define una función llamada
callque tome unaclavey un conjunto deargumentoscomo parámetros y devuelva una nueva función que tome un parámetrocontexto.
const call =
(key, ...args) =>
(context) =>
context[key](...args);
- Utiliza la función
callpara llamar a la funciónmapen una matriz de números. En este ejemplo, la funciónmapduplica cada número de la matriz.
Promise.resolve([1, 2, 3])
.then(call("map", (x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
- También puedes enlazar la función
calla una clave específica, comomap, y utilizarla para llamar a la funciónmapen una matriz de números.
const map = call.bind(null, "map");
Promise.resolve([1, 2, 3])
.then(map((x) => 2 * x))
.then(console.log); // [ 2, 4, 6 ]
Al utilizar la función call, puedes llamar fácilmente a cualquier función con un contexto específico y un conjunto de argumentos.
Resumen
¡Felicidades! Has completado el laboratorio de Llamar a Funciones con Contexto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.