Aula 9: Funções Anônimas, Arrow Functions e Higher-Order Functions em JavaScript
Introdução
Eai, dev´s ! Sejam bem-vindos a mais uma aula onde vamos aprofundar um dos conceitos mais importantes de JavaScript: funções. Se você quer entender melhor como funções funcionam, como deixá-las mais eficientes, e como aproveitar ao máximo a programação funcional.
Nessa aula, vamos explorar:
- Funções anônimas: O que são e quando usá-las?
- Arrow Functions: Como simplificar funções em JavaScript.
- Higher-Order Functions: Funções que trabalham com outras funções.
Vamos mergulhar no código e aprender tudo isso, então BORA CODAR!!
O que são funções em JavaScript?
Antes de entrarmos em detalhes sobre funções anônimas e arrow functions, precisamos entender o que é uma função em JavaScript.
Uma função é um bloco de código reutilizável que pode ser chamado em diferentes partes do seu programa. Existem diversas maneiras de declarar funções, e cada uma tem sua utilidade específica.
Exemplo de uma função tradicional:

Aqui temos:
- A palavra-chave
function
para declarar a função. - O nome
saudacao
. - Um parâmetro
nome
. - Um
return
que devolve uma saudação personalizada.
Agora que entendemos isso, vamos explorar outras formas mais avançadas de trabalhar com funções.
Funções Anônimas
Uma função anônima é uma função que não tem nome. Isso significa que não podemos chamá-la diretamente pelo nome, mas podemos atribuí-la a uma variável e chamá-la através dessa variável.
Exemplo básico de função anônima:

Explicação linha por linha:
- Criamos uma variável
saudacao
e atribuímos a ela uma função sem nome. - Essa função recebe um parâmetro
nome
e retorna uma string personalizada. - Quando chamamos
saudacao("Guilherme")
, recebemos a mensagem “Olá, Guilherme!”.
Mas qual a utilidade de funções anônimas?
Funções anônimas são muito úteis quando queremos:
- Criar funções rápidas sem precisar nomeá-las.
- Passar funções como argumentos para outras funções (isso vai ficar mais claro em Higher-Order Functions).
- Criar funções dentro de outras funções.
Agora, vamos ver como podemos melhorar isso com as arrow functions.
Arrow Functions
As arrow functions são uma forma mais curta e moderna de escrever funções anônimas. Elas foram introduzidas no ES6 e facilitam bastante a vida dos desenvolvedores.
Exemplo 1: Arrow Function com um parâmetro

Explicação:
- Criamos a função
dobrar
usando a sintaxe de arrow function. - Ela recebe um número
num
e retornanum * 2
. - Chamamos
dobrar(5)
, que resulta em10
.
Mas podemos simplificar ainda mais!
Exemplo 2: Arrow Function com dois parâmetros

Agora vamos ver como podemos reduzir ainda mais o código.
Exemplo 3: Arrow Function ainda mais curta
Se tivermos apenas uma linha de código, podemos omitir {}
e return
:

Aqui:
- Como só temos um único parâmetro, podemos omitir os parênteses
()
. - Como só temos uma única expressão, não precisamos do
{}
nem doreturn
.
Isso faz com que arrow functions sejam ideais para funções pequenas e reutilizáveis!
Higher-Order Functions
Agora vamos para algo mais avançado! Higher-Order Functions (HOFs) são funções que recebem outras funções como parâmetros ou retornam uma função. Elas são fundamentais para a programação funcional.
Exemplo: Usando map
para dobrar números

Explicação:
- Criamos um array
numeros
. - O método
map
percorre cada número do array e aplica a funçãonum => num * 2
. - O resultado é
[2, 4, 6, 8, 10]
.
OBS: Na próxima aula, você entenderá o que é um array e um método. Por enquanto, concentre-se no conceito de high-order functions.
Agora vamos criar nossa própria Higher-Order Function!
Criando uma Higher-Order Function do zero

Aqui:
- A função
operacao
recebe um número e uma função como argumento. - Chamamos
operacao(4, quadrado)
, que retorna16
.
Isso nos dá muita flexibilidade, pois podemos passar qualquer função como argumento!
Outro exemplo: uma função que retorna outra função:

Isso é útil quando queremos configurar uma função antes de usá-la.
Conclusão
Hoje aprendemos: Funções anônimas: Quando você precisa armazenar uma função em uma variável. Arrow Functions: Deixam o código mais limpo e legível. Higher-Order Functions: Funções que aceitam ou retornam outras funções.
As funções são uma parte essencial do JavaScript e dominar esses conceitos vai te ajudar a escrever códigos mais eficientes.
👉 Link para o GitHub da aula: https://github.com/guilherme-silvam/js-aulas-guilhermemachadodev/tree/main/aula-9-guilhermemachadodev
Próxima aula
Na próxima aula, vamos conhecer os Arrays. Prepare-se para continuar aprendendo!
Se tiver qualquer dúvida, estou à disposição. Deixe um comentário ou entre em contato! Até lá, bons estudos e bora codar!
Publicar comentário