JS Funktionsausdrücke

Funktion in Variable speichern

JavaScriptfunction greetings() {
  console.log('Hi');
}
let greetings2 = greetings;
greetings();
greetings2();

oder:

  • Funktion kann direkt einer Variablen zugewiesen werden (als sogenannter Funktionsausdruck)
  • Funktionsname (hinter function) dann nur innerhalb der Funktion definiert (um sich z. B. selbst aufzurufen -> Rekursion)
JavaScriptlet greetings2 = function greetings() { console.log("Hi"); }
// Achtung: Aufruf greetings() würde hier Fehler werfen
greetings2();

anonyme Funktion

  • der Funktionsname (hinter function) kann beim direkten Zuweisen auch weggelassen werden
JavaScriptlet greetings2 = function() { console.log("Hi"); }
greetings2();

Pfeilfunktion

Verkürzte Schreibweise für anonyme Funktionen:

  • Signalwort function wird durch einen => Pfeil zwischen runden und geschweiften Klammern ersetzt
JavaScriptlet greetings2 = () => {
  console.log('Hi');
};
greetings2();

Pfeilfunktion Besonderheiten

Variablenwert kann geändert werden

JavaScriptlet x = -3;
let info = function () {
  console.log('positiv');
};
if (x < 0) {
  info = function () {
    console.log('negativ');
  };
}
info();