Heim > Web-Frontend > js-Tutorial > Wie funktioniert „dies' in ES6-Pfeilfunktionen anders als in regulären Funktionen?

Wie funktioniert „dies' in ES6-Pfeilfunktionen anders als in regulären Funktionen?

Linda Hamilton
Freigeben: 2024-12-17 15:43:16
Original
528 Leute haben es durchsucht

How Does `this` Work Differently in ES6 Arrow Functions Compared to Regular Functions?

„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();
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage