Uma "curried function" é uma função que recebe múltiplos argumentos, 👉um de cada vez👈.
Fizemos um "preload" de `add` com o número `1`.
Só que há uma forma mais eficiente de utilizarmos essa técnica.
🔹 Ao invés de ela receber os 2 números por parâmetro ao mesmo tempo, receber apenas `num1`;
🔹 Fazê-la retornar outra função;
Se `add` tivesse mais parâmetros, ela poderia continuar a retornar novas funções até que todos os argumentos fossem passados e a aplicação fosse completada.
Uma partial application é uma função que ainda não está utilizando todos os seus argumentos. Uma função que possui alguns argumentos fixados dentro do escopo da closure.
🔸 Partial Applications: Recebem quantos argumentos forem necessários.
🔹 Currying Functions: Sempre retornam uma função unária (uma função que recebe apenas 1 argumento).
👉Retweeta👈 essa thread!
Linkei o início dela ali
em baixo, para facilitar =)
Te vejo na próxima 🔥
twitter.com/rogermelodev
🔗Introdução à Closures
🔗Introdução à Programação Funcional
🔗Explorando map(), filter() e reduce() juntos