Sobes.tech
Junior

O que é uma expressão de função e uma declaração de função?

sobes.tech IA

Resposta da IA

No JavaScript, existem duas formas principais de criar funções: declaração de função (function declaration) e expressão de função (function expression).

  • Declaração de função — é a forma clássica, onde a função é declarada com a palavra-chave function e um nome:
function greet() {
  console.log('Hello');
}

As declarações de funções são elevadas (hoisted) para o início do seu escopo, portanto podem ser chamadas antes de sua definição no código.

  • Expressão de função — é quando a função é criada como parte de uma expressão e pode ser anônima ou nomeada:
const greet = function() {
  console.log('Hello');
};

As expressões de funções não são elevadas, portanto não podem ser chamadas antes de serem definidas no código.

A diferença em escopo e elevação afeta a ordem de chamada e a acessibilidade das funções. Expressões de funções são frequentemente usadas para criar funções fechadas ou passar funções como argumentos.