He visto a otros usar el siguiente patrón.¿Por qué la declaración de función de JavaScript (y expresión)?
var bar = function foo(){};
console.log(bar); // foo()
console.log(foo); // ReferenceError: foo is not defined
¿Pero por qué? Puedo ver el punto si ambos fueron declarados, pero no lo son. ¿Por qué es la razón?
Lo que tienes ahí es una función anónima que tiene un nombre. La única razón por la que sé hacer eso es cuando estás depurando en la función foo() el seguimiento de la pila mostrará el nombre en lugar de simplemente 'función anónima'. –