Introducción
En este laboratorio, exploraremos el concepto de currying en JavaScript. El currying es una técnica que nos permite transformar una función que toma múltiples argumentos en una secuencia de funciones que cada una toma un solo argumento. A través de este laboratorio, obtendrás una comprensión más profunda de cómo funciona el currying y cómo se puede aplicar en tu código JavaScript.
Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.
Currying una función
Para aplicar currying a una función, sigue estos pasos:
- Abre la Terminal/SSH y escribe
nodepara comenzar a practicar la codificación. - Utiliza recursividad.
- Verifica si la cantidad de argumentos proporcionados (
args) es suficiente. - Si es así, llama a la función pasada
fn. - Si no, utiliza
Function.prototype.bind()para devolver una función curriedfnque espera el resto de los argumentos. - Si quieres aplicar currying a una función que acepta un número variable de argumentos (una función variádica, por ejemplo
Math.min()), puedes opcionalmente pasar la cantidad de argumentos al segundo parámetroarity. - Utiliza el siguiente código:
const curry = (fn, arity = fn.length, ...args) =>
arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);
Aquí hay algunos ejemplos:
curry(Math.pow)(2)(10); // 1024
curry(Math.min, 3)(10)(50)(2); // 2
Resumen
¡Felicidades! Has completado el laboratorio de la Función Curry. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.