Técnicas de Currying en JavaScript

Beginner

This tutorial is from open-source community. Access the source code

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:

  1. Abre la Terminal/SSH y escribe node para comenzar a practicar la codificación.
  2. Utiliza recursividad.
  3. Verifica si la cantidad de argumentos proporcionados (args) es suficiente.
  4. Si es así, llama a la función pasada fn.
  5. Si no, utiliza Function.prototype.bind() para devolver una función curried fn que espera el resto de los argumentos.
  6. 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ámetro arity.
  7. 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.