Читать книгу Angular - Ferdinand Malcher - Страница 83

4.7Arrow-Funktionen/Lambda-Ausdrücke

Оглавление

Eine Arrow-Funktion ist eine Kurzschreibweise für eine normale function() in JavaScript. Auch die Bezeichnung Lambda-Ausdruck ist verbreitet.

Der rechtsseitige Ausdruck dient als Rückgabewert.

Die Definition einer anonymen function() verkürzt sich damit elegant zu einem Pfeil =>. Erhält die Funktion genau ein Argument, können die runden Klammern auf der linken Seite sogar weggelassen werden. Auch die geschweiften Klammern auf der rechten Seite können eingespart werden: Lässt man die Klammern weg, wird das Ergebnis des rechtsseitigen Ausdrucks als Rückgabewert für die Funktion verwendet. Wir müssen also kein return-Statement verwenden. Diese vier Definitionen sind gleichwertig:

function (foo) { return foo + 1; }

(foo) => { return foo + 1; }

foo => { return foo + 1; }

foo => foo + 1;

Damit können anonyme Funktionen mit nur wenig Tipparbeit definiert werden. Das folgende Beispiel zeigt, wie wir alle geraden Zahlen aus einer Liste ermitteln können. Zuerst wird eine herkömmliche Funktionsdeklaration verwendet, wie wir sie aus ES5 kennen. Die Arrow-Funktion im zweiten Beispiel ist allerdings wesentlich kompakter: Es ist möglich, einen einzeiligen Ausdruck einzusetzen, um die Funktion zu deklarieren.

const numbers = [0, 1, 2, 3, 4];

const even1 = numbers.filter(

function(value) {

return value % 2 === 0;

}

);

const even2 = numbers.filter(

value => value % 2 === 0

);

Angular

Подняться наверх