Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando utilizar função e quando utilizar expressão de função

Pessoal, boa tarde.

Poderiam, por gentileza, utilizar um exemplo prático de quando é melhor implementar um código utilizando expressção de função ao invés da função ?

Obrigado !

1 resposta
solução!

Não dá pra dizer qual é melhor, ambas as abordagens são válidas, mas depende do contexto onde será usado. Algumas considerações sobre a escolha

1 Hoisting:

  • Declaração de Função: As funções declaradas são içadas (hoisted) para o topo do escopo, então você pode chamá-las antes da declaração no código.
  • Expressão de Função: Não é içada, então você só pode chamá-la após a declaração no código.
// Funciona mesmo antes da declaração
funcaoDeclarada();

function funcaoDeclarada() {
  console.log("Eu sou uma função declarada!");
}

// Isso resultaria em um erro
// funcaoExpressa(); 

const funcaoExpressa = function() {
  console.log("Eu sou uma expressão de função!");
};

2 Legibilidade do Código:

  • Declaração de Função: Pode tornar o código mais limpo e legível, especialmente se você estiver usando funções em um escopo mais amplo.
  • Expressão de Função: Pode ser útil quando você deseja atribuir uma função a uma variável ou passá-la como argumento para outra função.

3 Facilidade de Depuração:

  • Declaração de Função: Ao depurar, as declarações de função fornecem nomes mais significativos na pilha de chamadas.
  • Expressão de Função: As expressões de função podem tornar a pilha de chamadas menos legível, pois a função pode ser anônima.

4 Reatribuição:

  • Declaração de Função: Pode ser reatribuída.
  • Expressão de Função: Pode ser reatribuída ao usar let ou var, mas não com const.

Em resumo, a escolha entre uma declaração de função e uma expressão de função depende do contexto e das necessidades específicas do seu código. Ambas têm seus lugares e podem ser usadas com eficácia em diferentes situações.