Função - Objeto de primeira classe


No JavaScript, as funções são consideradas objetos de primeira classe, o que significa que elas podem ser tratadas como qualquer outro objeto.

Atribuição a uma variável

As funções podem ser atribuídas a variáveis, tornando-as expressões de função ou function expressions. Isso permite que você utilize funções anonimamente ou as passe como argumentos para outras funções.

const falaOi = function () {
  console.log("Oi");
};
 
falaOi();

Passagem de função como parâmetro

Como as funções são objetos de primeira classe, você pode passá-las como argumentos para outras funções. Isso é útil em situações como callbacks e programação assíncrona.

const falaOi = function () {
  console.log("Oi");
};
 
function executarFuncao(funcao) {
  funcao();
}
 
executarFuncao(falaOi);

Function expression nomeada

Você também pode criar funções expressas com nomes, o que pode ser útil para referências internas e facilitar a depuração.

const falaOi = function funcaoFalaOi() {
  console.log("Oi");
};
 
falaOi();

Referências