Heim > Web-Frontend > js-Tutorial > Wie wirkt sich die lexikalische Bindung auf das Schlüsselwort „this' in ES6-Pfeilfunktionen aus?

Wie wirkt sich die lexikalische Bindung auf das Schlüsselwort „this' in ES6-Pfeilfunktionen aus?

Barbara Streisand
Freigeben: 2024-12-18 15:27:12
Original
430 Leute haben es durchsucht

How Does Lexical Binding Affect the

Lexikalische Bindung von „this“ in ES6-Pfeilfunktionen

Pfeilfunktionen in ES6 sind bekannt für ihr einzigartiges lexikalisches Bindungsverhalten von „this“. " Im Gegensatz zu anderen JavaScript-Funktionen, bei denen „this“ dynamisch gebunden ist, behalten Pfeilfunktionen einen lexikalischen Bereich bei und weisen „this“ demselben Wert wie den umschließenden Kontext zu.

Um dieses Konzept zu veranschaulichen, betrachten Sie den folgenden Code:

var testFunction = () => {
  console.log(this)
};
testFunction();
Nach dem Login kopieren

Im Gegensatz zum herkömmlichen JavaScript-Verhalten, bei dem sich „this“ auf das globale Objekt (Fenster) bezieht, erfassen Pfeilfunktionen den „this“-Wert des umschließenden Kontexts. In diesem Beispiel würde sich „this“ auf den globalen Bereich (Fenster) beziehen, da testFunction außerhalb jedes Objekts definiert ist.

Darüber hinaus stellt die lexikalische Bindung sicher, dass „this“ während der gesamten Lebensdauer der Pfeilfunktion konsistent bleibt. Betrachten Sie das folgende Beispiel:

function Person(){
  this.age = 0;

  setInterval(() => {
    this.age++; // |this| properly refers to the person object
  }, 1000);
}

var p = new Person();
Nach dem Login kopieren

Hier erfasst die Pfeilfunktion den „this“-Wert des Person-Objekts und ermöglicht ihm den Zugriff und die Änderung seiner Eigenschaften (in diesem Fall die Erhöhung der Alterseigenschaft). Dieses Verhalten stellt sicher, dass sich „dies“ immer auf den richtigen Kontext bezieht, unabhängig davon, wie die Pfeilfunktion aufgerufen wird oder sich der Ausführungskontext ändert.

Das obige ist der detaillierte Inhalt vonWie wirkt sich die lexikalische Bindung auf das Schlüsselwort „this' in ES6-Pfeilfunktionen aus?. 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