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:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use recursão.
- Verifique se o número de argumentos fornecidos (
args) é suficiente. - Se sim, chame a função passada
fn. - Se não, use
Function.prototype.bind()para retornar uma função curriedfnque espera o restante dos argumentos. - 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âmetroarity. - 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.