Neste artigo você vai aprender o que é currying e também como aplicar este recurso em um programa escrito em JavaScript

O que é currying capa

Fala programador(a), beleza? Bora aprender mais sobre currying e também JavaScript!

A forma simples de explicar o que é a técnia de currying é:

Quando quebramos uma função que leva múltiplos argumentos em diversas funções, que cada uma delas recebe apenas um argumento

Vamos representar isso de forma prática, imagine que temos uma função de saudação

Ela recebe dois argumentos: a saudação e o nome do usuário

Para aplicar o currying teremos que dividir em duas funções

Veja o código a seguir:

function saudacao(s, n) {
	
  console.log(`${s} ${n}, tudo bem?`)

}

saudacao("Olá", "Matheus"); // "Olá Matheus, tudo bem?"

function saudacaoCurrying(s) {
	return function(n) {
  	return `${s} ${n}, tudo bem?`
  }
}

console.log(saudacaoCurrying("Bom dia")("João")); // "Bom dia João, tudo bem?"

A primeira função temos os dois argumentos juntos, e a segunda dividimos em duas funções, com uma cadeira de retornos

Obtendo assim o mesmo resultado, porém utilizando o currying!

Conclusão

No artigo de hoje você aprendeu o que é currying e como aplicar o recurso em JavaScript

Basicamente consiste em subdividir uma função que aceita diversos argumentos, em uma função para cada argumento

Obtendo assim o mesmo resultado que se fosse uma única função

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!

Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias

O link acima contém um cupom de desconto para os cursos!
Inscrever-se
Notificar de
guest

1 Comentário
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários
MarcosMth

Boa tarde.
Tudo bem ?

Parabéns pelo artigo!

Achei interessante, porém, por qual motivo usar o currying e não utilizar mais de um parametro sem separação(apenas separando por virgula) na mesma função ?
Não achei algo que realmente me fizesse usar o currying e não a função com os parametros normais como costumo usar.

Poderia dar um exemplo de uma aplicação que faça sentido usar o currying.