
Funções anônimas JavaScript
Neste tutorial, você aprenderá sobre funções anônimas (anonymous functions) em JavaScript, que são funções sem nome especificado. Essenciais para programação funcional em JavaScript, as funções anônimas permitem escrever o código de maneira clara e eficiente, com menos linhas de código.
English version: https://www.javascripttutorial.net/javascript-anonymous-functions/
Introdução
Uma função anônima é uma função sem nome.
Aqui você descobrirá como podem ser criadas, atribuídas a variáveis ou mesmo passadas como argumentos para outras funções.
Além disso, será abordado o uso de funções anônimas em contextos específicos, como argumentos de funções de temporização e em padrões de execução imediata. O tutorial também explorará as arrow functions, uma sintaxe mais curta introduzida pelo ES6, ampliando sua compreensão sobre como JavaScript trata funções como cidadãos de primeira classe.
Uma função anônima geralmente não está acessível após a sua criação.
No exemplo a seguir é mostrada uma função anônima que exibe uma mensagem:

Neste exemplo, a função anônima não tem nome entre a palavra-chave function
e os parênteses ()
.
Como precisamos chamar a função anônima em algum momento, atribuímos essa função a uma variável, nesse caso à variável show
.
Usando funções anônimas como argumentos de outras funções

Costumamos usar funções anônimas como argumentos de outras funções. Por exemplo:

Neste exemplo, passamos por argumento uma função anônima para a função setTimeout()
. A função anônima passa a ser então um parâmetro da função setTimeout
. A função setTimeout()
executa essa função anônima um segundo depois.
Observe que as funções são cidadãos de primeira classe em JavaScript, portanto você pode passar uma função para outra como argumento.
Execução de função invocada imediatamente

Se você deseja criar uma função e executá-la imediatamente após a declaração, pode usar a função anônima como esta:

Entenda como isso funciona.
Primeiro: O seguinte código define uma expressão de função:

Segundo: Os últimos parênteses à direita ();
permitem chamar a função, dessa forma:

e as vezes convém passar argumentos para ela, assim:

Funções de seta (Arrow Functions)

O ES6 introduziu a expressão da função de seta (arrow function) que fornece uma abreviação para declarar funções anônimas:
Por exemplo, essa função:

… esse código pode ser reduzido usando a seguinte arrow function:

Da mesma forma, a seguinte função anônima:

… equivale à seguinte arrow function:

As 3 linhas abaixo declaram a função show()
com sintaxe diferentes, porém as 3 vão funcionar mesma forma:

Resumo

- Funções anônimas são funções sem nome.
- Funções anônimas podem ser usadas como argumento para outras funções ou como uma execução de função invocada imediatamente.
Veja o índice de todos os tutoriais JavaScript
Confira uma série de outros tutoriais JavaScript que eu escrevi, clicando no link abaixo: