Técnicas de Currying em JavaScript

Beginner

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

Introdução

Neste laboratório, exploraremos o conceito de currying em JavaScript. Currying é uma técnica que nos permite transformar uma função que recebe múltiplos argumentos em uma sequência de funções que recebem cada uma um único argumento. Através deste laboratório, você obterá uma compreensão mais profunda de como o currying funciona e como ele pode ser aplicado em seu código JavaScript.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 100%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Currying de uma Função

Para fazer currying de uma função, siga estes passos:

  1. Abra o Terminal/SSH e digite node para começar a praticar a codificação.
  2. Use recursão.
  3. Verifique se o número de argumentos fornecidos (args) é suficiente.
  4. Se sim, chame a função passada fn.
  5. Se não, use Function.prototype.bind() para retornar uma função curried fn que espera o restante dos argumentos.
  6. Se você deseja fazer currying de uma função que aceita um número variável de argumentos (uma função variádica, por exemplo, Math.min()), você pode opcionalmente passar o número de argumentos para o segundo parâmetro arity.
  7. Use o seguinte código:
const curry = (fn, arity = fn.length, ...args) =>
  arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);

Aqui estão alguns exemplos:

curry(Math.pow)(2)(10); // 1024
curry(Math.min, 3)(10)(50)(2); // 2

Resumo

Parabéns! Você concluiu o laboratório de Função Curry. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.