Skip to content

JavaScript - Arrow Functions


Arrow Functions sind eine andere Schreibweise um Funktionen zu definieren.

Die definierten Funktionen funktionieren genau gleich wie herkömmliche JavaScript Funktionen.


Im Unterschied zu herkömmlichen Funktionen vergeben wir keinen Namen bei Arrow-Functions.

Man nennt Arrow-Functions deswegen auch anonyme Funktionen, weil ihr Name nicht bekannt ist.

In anderen Programmiersprachen werden Arrow-Functions auch häufig Lambda-Functions genannt.


Bei der Definition lassen wir im Vergleich zu herkömmlichen Funktionen das Schlüsselwort function und den Namen der Funktion weg.

Wir beginnen sofort mit der Parameterliste in runden Klammern.

Danach kommt ein Pfeil, dargestellt durch => gefolgt vom Funktionsrumpf.

(number) => {
return number * 2;
}

Besteht der Funktionsrumpf bei Arrow-Functions nur aus einem einzigen Ausdruck, können die geschwungenen Klammern und das return Schlüsselwort auch weggelassen werden.

(number) => number * 2;

Wenn die Arrow-Function nur einen einzelnen Parameter erhält, können auch die runden Klammern der Parameterliste entfallen.

number => number * 2;

Der häufigste Anwendungsfall von Arrow-Functions ist die Verwendung mit Higher-Order-Functions, also wenn wir eine Funktion einer anderen Funktion übergeben.

let array = [1, 2, 3];
let doubled = array.map(n => n*2);
let filtered = array.filter(n => n >= 2);

Eine Arrow Function kann nicht für sich alleine bestehen.

// korrekt
function double(number) {
return number * 2;
}
// falsch
(number) => number * 2;

Wenn wir eine Arrow-Function so definieren würden, könnten wir sie ja nie wieder finden, weil wir sie nicht über den Namen ansprechen können.


Wir können Arrow Functions aber einer Variable zuweisen um dennoch wieder einen Namen für die Funktion zu haben.

const double = number => number * 2;
const six = double(3);
console.log(six); // -> 6