Skip to Content

Pfeilfunktionen

Dauer: 15 Minuten

  • Funktionen mit => anstatt function

Ziel: Pfeilfunktionen als alternative Syntax für Funktionen

Vorbemerkung: Für das Programmierprojekt sind Pfeilfunktionen optional, d.h. herkömmliche Funktionen (mit function) sind in der Regel für alle Zwecke ausreichend.

Pfeilfunktionen mit => nach der Argumentliste anstatt function stellen eine alternative Syntax für Funktionen in JavaScript dar.

Oftmals haben Pfeilfunktionen eine viel kompaktere Syntax:

// Pfeilfunktionen mit => anstatt function const add = (a,b) => { return a + b; }; const substract = (a,b) => { return a - b; }; const multiply = (a,b) => { return a * b; }; console.log(substract(multiply(add(6,3),2),4)); // --> 14 ( = (6+3)*2-4 )

Unterschiede zwischen Pfeilfunktionen und „herkömmlichen“ Funktionen gibt es u.a. in Bezug auf den Umgang mit this im Funktionsrumpf, siehe dazu z.B. javascript.info .

Besteht eine Pfeilfunktionen nur aus einer Zeile bzw. aus nur einer return-Anweisung, dann können die geschweiften Klammern des Funktionsrumpfes und das return weggelassen werden:

// Einzeilige Pfeilfunktionen brauchen // kein return und keine { } const add = (a,b) => a + b; const substract = (a,b) => a - b; const multiply = (a,b) => a * b; console.log(substract(multiply(add(6,3),2),4)); // --> 14 ( = (6+3)*2-4 )

Bemerkung: Die geschweiften Klammern des Funktionsrumpfes werden aber wieder benötigt, wenn der Rückgabewert bzw. das Ergebnis der Funktion ein JavaScript-Objektliteral mit geschweiften Klammern ist.)

Falls eine Pfeilfunktion nur ein Argument bzw. einen Parameter hat, dann werden bei der Argumentliste die runden Klammern nicht gebraucht und können weggelassen werden:

const square = x => x * x; const plus1000 = x => x + 1000;

Solch kompakte Schreibweise kommt häufig in der Webprogrammierung mit JavaScript oder React vor, wenn z.B. einfache Callback-Funktionen für Buttons o.ä. benötigt werden.

Vertiefendes Material im Mozilla Developer Network