Funktionen sind das Herzstück von JavaScript. Waren sie früher an die Verwendung des function-Keywords gebunden, bringt ES6 eine neue und elegantere Schreibweise mit den sogenannten Arrow-Funktionen mit sich. Diese neue Syntax macht deinen Code nicht nur kürzer, sondern löst auch einige Probleme, die mit dem this-Kontext verbunden sind. In dieser Anleitung erfährst du alles, was du über Arrow-Funktionen wissen musst.
Wichtigste Erkenntnisse
- Arrow-Funktionen bieten eine kürzere Syntax im Vergleich zu herkömmlichen Funktionen.
- Sie haben keinen eigenen this-Kontext, was sie besonders praktisch für den Einsatz in Callback-Funktionen macht.
- Das Entfernen von geschweiften Klammern und der return-Anweisung wird möglich, wenn die Funktion nur einen Ausdruck zurückgibt.
Einführung in Arrow-Funktionen
Arrow-Funktionen werden in der Regel verwendet, um den Code lesbarer und kompakter zu gestalten. Statt function zu schreiben, kannst du die neue Syntax nutzen, um die Funktion kürzer zu deklarieren.

Um zu verstehen, was Arrow-Funktionen sind, lassen sich die traditionellen Funktionen gut als Ausgangspunkt nutzen. Wenn du eine Funktion mit dem function-Keyword deklarierst, ist sie meist etwas länger und weniger elegant. Hier ist das Beispiel einer Standardfunktion in JavaScript:
Das ist die Ausgangsbasis, von der wir zu den Arrow-Funktionen übergehen.
Schritt 1: Deklarieren einer Arrow-Funktion
Anstelle des function-Keywords kannst du einfach die Parameter in Klammern setzen und dann einen Pfeil verwenden, gefolgt von dem Funktionskörper. Hier ist, wie die vorherige Funktion als Arrow-Funktion aussieht:
Wie du siehst, ist die Syntax viel kompakter. Nach dem ersten Versuch kannst du überprüfen, ob die Funktion korrekt arbeitet.
Schritt 2: Nutzung von Arrow-Funktionen mit Arrays
Ein weiterer großer Vorteil von Arrow-Funktionen zeigt sich bei der Verwendung mit Arrays. Nehmen wir ein Beispiel. Angenommen, du hast ein Array von Zahlen und möchtest die Position einer bestimmten Zahl finden. Hier verwenden wir die findIndex-Methode, um den Index zu finden:
Die Arrow-Funktion vereinfacht die Lesbarkeit des Codes enorm und reduziert die Notwendigkeit eines zusätzlichen function-Keywords.
Schritt 3: Das Kürzen von Arrow-Funktionen
Wenn eine Arrow-Funktion nur einen Ausdruck hat, kannst du die geschweiften Klammern und das return-Keyword weglassen. So sieht es aus, wenn wir die findIndex-Funktion weiter verkürzen:
Das ist nicht nur kürzer, sondern auch eleganter. Du kannst die Funktion testen und dich davon überzeugen, dass sie immer noch korrekt funktioniert.
Schritt 4: Umgang mit dem this-Keyword
Ein ganz entscheidender Vorteil von Arrow-Funktionen ist die Behandlung des this-Kontextes. In klassischen Funktionen wird this oft unvorhersehbar, insbesondere wenn die Funktion als Callback verwendet wird. Arrow-Funktionen hingegen binden this an den Kontext, in dem sie definiert wurden.
Schau dir folgendes Beispiel an:
obj.print(); // Gibt "Text" aus
Wenn du jedoch setTimeout mit einer herkömmlichen Funktion verwendest, ändert sich der Kontext von this:
Durch die Verwendung einer Arrow-Funktion innerhalb von setTimeout erhältst du dasselbe Ergebnis wie bei der klassischen Funktion, ohne den Kontext zu verlieren:
Schritt 5: Die Zuordnung von this beibehalten
Du kannst auch this an eine Variable binden, um sicherzustellen, dass du darauf zugreifen kannst. Dieses Muster ist jedoch oft weniger elegant als die Nutzung von Arrow-Funktionen.
Vorteile der Arrow-Funktionen
- Sie sind kürzer und eleganter im Vergleich zur herkömmlichen Funktionsdeklaration.
- Sie haben keinen eigenen this-Kontext, was die Verwendung in Callback-Funktionen vereinfacht.
- Die Syntax erlaubt es dir, den Code deutlich lesbarer zu gestalten.
Zusammenfassung
Arrow-Funktionen bieten eine praktische Möglichkeit, JavaScript-Funktionen effizient zu deklarieren. Durch die neue Syntax wird nicht nur die Lesbarkeit verbessert, sondern auch die Handhabung des this-Kontextes erheblich vereinfacht. Du solltest Arrow-Funktionen vor allem dann verwenden, wenn du Callback-Funktionen oder kürzere Funktionsausdrücke benötigst.
Häufig gestellte Fragen
Was sind Arrow-Funktionen?Arrow-Funktionen sind eine kürzere Syntax für Funktionen in JavaScript, die mit ES6 eingeführt wurde.
Wann soll ich Arrow-Funktionen verwenden?Verwende Arrow-Funktionen vor allem in Callback-Szenarien oder wenn du anonyme Funktionen benötigst.
Welche Vorteile haben Arrow-Funktionen hinsichtlich des this-Kontexts?Arrow-Funktionen binden this an den umgebenden Kontext, was oftmals unvorhersehbare Verhaltensweisen bei normalen Funktionen verhindert.