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?
Ultima Online
Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras
Space Invaders
A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.
Máquina de Pascal
A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.
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.
Mortal Kombat - O Filme
O filme Mortal Kombat, inspirado no jogo de mesmo nome, faturou 23 milhões de dólares apenas no fim de semana de estreia nos EUA. Ainda sobre este título de sucesso, outra cifra que impressiona é o faturamento ao longo do primeiro ano: 1 bilhão de dólares no mundo todo.










