Qual é a diferença entre uma expressão de função vs declaração em JavaScript? [duplicado]
Esta questão já tem uma resposta aqui:
var functionName = function () {} vs função functionName () {} 37 respostasQual é a diferença entre as seguintes linhas de código?
<code>//Function declaration function foo() { return 5; } //Anonymous function expression var foo = function() { return 5; } //Named function expression var foo = function foo() { return 5; } </code>O que é uma expressão de função nomeada / anônima?O que é uma função declarada?Como os navegadores lidam com essas construções de maneira diferente?
O que as respostas a uma pergunta semelhante (var functionName = function () {} vs função functionName () {}) não fica exatamente certo?