Sobes.tech
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 function definiert, 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(...) {...}