Heim > Web-Frontend > js-Tutorial > Hauptteil

Pfeilfunktion und so

PHPz
Freigeben: 2024-07-31 01:28:24
Original
847 Leute haben es durchsucht

Arrow function and this

Was wäre das Ergebnis dieses foo.baz()??

const foo = {
  bar: 10,
  baz: () => console.log(this.bar),
};


foo.baz();

Nach dem Login kopieren

Diese Funktion scheint zu funktionieren, aber wenn Sie sie ausführen, ist das Ergebnis „undefiniert“. Warum so?
Wenn Sie in JavaScript eine Pfeilfunktion verwenden, sucht die Funktion console.log(this.bar) nach einer globalen Variablen, da das Schlüsselwort „this“ nicht an das umgebende Objekt, sondern an ein globales Objekt (Fenster) im Browser oder gebunden ist node.js-Umgebung.
Um dieses Problem zu beheben, verwenden wir entweder foo.bar oder ändern einen Code ein wenig und verwenden etwa einen regulären Funktionsausdruck

 baz: function () {
    console.log(this.bar);
  },

Nach dem Login kopieren

Oder wenn wir eine Pfeilfunktion verwenden müssen, können wir, anstatt eine lokale Variable wie this.bar aufzurufen, den Objektnamen verwenden und foo.bar wie folgt aufrufen.

 baz: () => console.log(foo.bar),

Nach dem Login kopieren

Jetzt wird die Ausgabe korrekt 10 sein.

Das obige ist der detaillierte Inhalt vonPfeilfunktion und so. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage