Читать книгу Angular - Ferdinand Malcher - Страница 84
Listing 4–10 Herkömmliche Callback-Funktion
ОглавлениеBei komplexerer Logik kann auch ein mehrzeiliger Block verwendet werden. In diesem Fall muss der Rückgabewert allerdings mit return aus der Funktion herausgegeben werden.
this-Kontext
Ein weiterer Vorteil der Arrow-Funktion ist, dass sie keinen eigenen this-Kontext besitzt. Mit der normalen function() ist es oft erforderlich, this in einer temporären Variable zu speichern, um in einer Callback-Funktion überhaupt darauf zugreifen zu können. Mit Arrow-Funktionen existiert dieses Problem nicht, denn die Variable this wird stets aus dem übergeordneten Kontext verwendet. Dies entspricht genau dem, was man beim Programmieren mit Klassen gemeinhin benötigt.
class User {
firstname: string;
friends: User[];
showFriends() {
const self = this;
this.friends.forEach(function(friend) {
console.log(`${self.firstname} kennt ${friend.firstname}`);
});
}
}