„This“ in ES6-Pfeilfunktionen verstehen
In JavaScript hängt der Wert davon vom Kontext ab, in dem es verwendet wird. Bei der Arbeit mit Pfeilfunktionen wird das Konzept der „lexikalischen Bindung“ relevant, das deren Verhalten vorgibt.
Pfeilfunktionen erben den Wert davon aus dem umschließenden Kontext, in dem sie definiert sind. Im Gegensatz zu regulären Funktionen erstellen Pfeilfunktionen hierfür keinen eigenen Bereich. Betrachten Sie den folgenden Code:
var testFunction = () => { console.log(this); }; testFunction();
Hier erfasst die Pfeilfunktion testFunction den Wert davon aus ihrem umschließenden Kontext, der in diesem Fall der globale Bereich ist. Daher würde console.log(this) das globale Objekt ausgeben.
Im Gegensatz dazu können reguläre Funktionen dafür ihren eigenen Bereich erstellen. Zum Beispiel:
function Person() { this.age = 0; const increaseAge = function() { this.age++; // `this` refers to the Person object }; increaseAge(); } const p = new Person();
In diesem Beispiel ist die raiseAge-Funktion im Person-Konstruktor verschachtelt. Wenn es aufgerufen wird, bezieht sich dies auf die Instanz der Person-Klasse, da sie mit dem neuen Schlüsselwort erstellt wurde.
Zusammenfassend lässt sich sagen, dass Pfeilfunktionen den Wert von this aus ihrem umschließenden Kontext erben und so sicherstellen, dass er konsistent bleibt den umgebenden Code. Dieses Verhalten unterscheidet sich von regulären Funktionen, die hierfür einen eigenen Bereich schaffen. Das Verständnis dieses Hauptunterschieds ist entscheidend für die ordnungsgemäße Handhabung dieser Pfeilfunktionen innerhalb der JavaScript-Entwicklung.
Das obige ist der detaillierte Inhalt vonWie funktioniert „dies' in ES6-Pfeilfunktionen anders als in regulären Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!