Middle
Was sind die Besonderheiten bei der Arbeit mit Function Expression und Function Declaration in JavaScript?
sobes.tech KI
Antwort von AI
Funktionsdeklaration (Funktionsdefinition):
- Wird mit dem Schlüsselwort
functiondefiniert, gefolgt vom Funktionsnamen und dann Klammern für die Parameter. - Es unterliegt dem Hoisting: Die Funktion ist im Gültigkeitsbereich verfügbar, bevor sie im Code tatsächlich deklariert wird.
- Verwenden Sie sie, wenn Sie eine benannte Funktion erstellen möchten und die Reihenfolge der Aufrufe keine Rolle spielt.
function helloWorld() {
// Gibt eine Nachricht in die Konsole aus
console.log("Hello, World!");
}
Funktionsausdruck (funktionaler Ausdruck):
- Wird als Teil eines Ausdrucks definiert, meist einer Zuweisung an eine Variable.
- Unterliegt nicht dem Hoisting: Die Funktion ist erst nach Ausführung der entsprechenden Codezeile verfügbar.
- Kann benannt oder anonym sein.
- Verwenden Sie es, wenn Sie eine Funktion als Argument übergeben, eine sofort auszuführende Funktion (IIFE) erstellen oder eine Funktion in einer Bedingung definieren möchten.
const greet = function(name) {
// Gibt eine Begrüßung zurück
return `Hallo, ${name}!`;
};
Vergleich:
| Merkmal | Funktionsdeklaration | Funktionsausdruck |
|---|---|---|
| Hoisting | Ja | Nein |
| Verfügbarkeit | Vor der Deklaration im Code | Nach der Deklaration im Code |
| Name | Obligatorisch | Kann anonym sein |
| Syntax | function name(...) {...} |
const variable = function(...) {...} |