Avatar ·

Unterschied zwischen var functionName = function() {} und function functionName() {} in JavaScript

Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen und bin auf eine für mich unverständliche Situation gestoßen. In verschiedenen Codebeispielen sehe ich zwei Arten, Funktionen zu deklarieren, die ähnlich aussehen, sich aber unterschiedlich verhalten.\n\nErster Weg:\n```javascript\nvar myFunc = function() {\n console.log("Hallo!");\n};\n```\n\nZweiter Weg:\n```javascript\nfunction myFunc() {\n console.log("Hallo!");\n}\n```\n\nAuf den ersten Blick machen sie dasselbe – sie erstellen eine Funktion mit dem Namen `myFunc`. Aber mir ist aufgefallen, dass wenn man die Funktion vor ihrer Deklaration aufruft, der erste Weg einen Fehler ausgibt, während der zweite funktioniert. Zum Beispiel:\n\n```javascript\n// Funktioniert\ntest1(); // Gibt "Funktioniert!" aus\nfunction test1() {\n console.log("Funktioniert!");\n}\n\n// Fehler\ntest2(); // TypeError: test2 is not a function\nvar test2 = function() {\n