Ich bin ein Ausschnitt aus Mozilla docs einfügen.Pfeilfunktion und `this`
Eine Pfeilfunktion erstellt dies nicht selbst, der Wert des umschließenden Ausführungskontextes wird verwendet. Somit wird in dem folgenden Code, der dies in der Funktion, der setInterval geleitet wird, hat den gleichen Wert wie dies in der umschließenden Funktion:
function Person(){
this.age = 0;
setInterval(() => {
this.age++; // |this| properly refers to the person object
}, 1000);
}
var p = new Person();
Meine Verwirrung, wenn der obige Code ausgeführt wird, wird die setInterval-Funktion sein ersetzt durch seine Implementierung mit der anonymen Funktion, die als Argument übergeben wurde.
Zeile 00: Hier wird nicht auf die anonyme Funktion verwiesen, da die Pfeilfunktion verwendet wird und auf den umschließenden Ausführungskontext zeigt. Für das, was ich verstanden habe, ist der umschließende Ausführungskontext hier die Funktion setInterval, aber dafür ist keine Alterseigenschaft definiert. Ich weiß, dass ich falsch liege, wenn das Alter auf die Person hinweist, da es gut läuft.
Mögliches Duplikat [Wann soll ich Pfeil Funktionen in ECMAScript 6?] (Https://stackoverflow.com/questions/22939130/when-should-i-use-arrow-functions-in-ecmascript- 6) – Erazihel