Até agora, aprendemos a:
- Controlar estado com closures
- Evitar efeitos colaterais com imutabilidade
Agora vamos aprender uma técnica que conecta tudo isso:
Currying.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender o que é currying
- Diferenciar currying de funções comuns
- Criar funções mais reutilizáveis
- Reconhecer currying em código real
- Combinar currying com closures e imutabilidade
O que é currying?
Currying é uma técnica onde:
uma função que recebe vários argumentos é transformada em uma sequência de funções que recebem um argumento por vez.
Função tradicional
Veja uma função comum:
function soma(a, b) { return a + b; }
console.log(soma(2, 3)); // Saída será 5
Ela recebe dois argumentos de uma vez.
A mesma função com currying
function soma(a) { return function (b) { return a + b; }; }
console.log(soma(2)(3)); // Saída será 5
Aqui:
- A primeira função recebe
a - A segunda recebe
b - O resultado final é o mesmo
Mas por que alguém faria isso?
A pergunta é excelente — e necessária.
Currying **não existe para fazer contas**.
Ele existe para:
- Especializar funções
- Reaproveitar lógica
- Compor comportamentos
Currying na prática — função especializada
Vamos criar uma função genérica:
function multiplicar(fator)
{
return function (numero)
{
return numero * fator;
};
} Agora criamos funções específicas:
const dobrar = multiplicar(2);
const triplicar = multiplicar(3);
console.log(dobrar(4)); // Saída será 8
console.log(triplicar(4)); // Saída será 12
Isso é currying em ação.
Currying + Closure (ligação direta)
O que está acontecendo por baixo:
fatorfica preso no escopo- A função interna lembra desse valor
- Isso é uma closure
Currying torna o código mais declarativo
Compare:
calcularDesconto(produto, 0.1); calcularDesconto(produto, 0.2); Com currying:
const desconto10 = calcularDesconto(0.1);
const desconto20 = calcularDesconto(0.2);
desconto10(produto);
desconto20(produto);
A intenção fica explícita.
Currying ajuda na composição
Funções que recebem um argumento são mais fáceis de:
- combinar
- encadear
- reutilizar
Isso nos leva diretamente ao próximo tópico.
Quando NÃO usar currying
Currying não é obrigatório.
- Funções simples → não precisa
- Código procedural → pode confundir
- Equipe não familiarizada → use com cuidado
Resumo da aula para nunca mais esquecer
- Currying transforma funções em sequência de funções
- Permite especializar comportamento
- Usa closures para preservar valores
- Torna código mais reutilizável
- Facilita composição de funções
Na próxima aula, vamos fechar esse bloco funcional com Composição de funções.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
PDP-1
O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.
Galaxy Game
As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Mario em Donkey Kong
O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.
Playstation
O Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.
Pac Man
Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.










