Avatar ·

Diferencia entre var functionName = function() {} y function functionName() {} en JavaScript

¡Hola, colegas! Soy un desarrollador frontend principiante y me encontré con una confusión. En diferentes proyectos y tutoriales veo dos formas de declarar funciones:\n\n```javascript\n// Forma 1: Function Expression (expresión de función)\nvar myFunc = function() {\n console.log("Hello from expression!");\n};\n\n// Forma 2: Function Declaration (declaración de función)\nfunction myFunc() {\n console.log("Hello from declaration!");\n}\n```\n\nA primera vista hacen lo mismo. Pero cuando empecé a escribir código más complejo, noté un comportamiento extraño. Por ejemplo, si llamo a la función antes de su declaración, una forma funciona y la otra da un error:\n\n```javascript\n// Esto funciona\nsayHello(); // Imprime "Hello!"\n\nfunction sayHello() {\n console.log("Hello!");\n}\n\n// Esto da un error\ns