


Wie können ES6-Klassen verwendet werden, um Funktionen zu erweitern und auf Instanzdaten zuzugreifen?
Funktion mit ES6-Klassen erweitern
In ES6 können spezielle Objekte erweitert werden, was eine Vererbung vom Funktionsobjekt ermöglicht. Obwohl es möglich ist, solche Objekte als Funktionen aufzurufen, kann die Implementierung der Logik für diesen Aufruf eine Herausforderung sein.
Übergabe von Instanzdaten an Funktionsaufruf
Beim Aufrufen einer Klasse als Funktion , dies bezieht sich auf das Fensterobjekt. Für den Zugriff auf Instanzdaten stehen zwei Ansätze zur Verfügung:
- Hardcodierung: Erzwingen Sie, dass der Superaufruf eine Codezeichenfolge erwartet, die die Instanzdaten enthält.
class Smth extends Function { constructor(x) { super("return " + JSON.stringify(x) + ";"); } }
- Einen Abschluss verwenden: Eine Abschlussfunktion zurückgeben, die auf Instanzvariablen zugreift.
class Smth extends Function { constructor(x) { function smth() { return x; }; Object.setPrototypeOf(smth, Smth.prototype); return smth; } }
Abstraktion der Funktionserweiterung
Ein allgemeinerer Ansatz besteht darin, eine ExtensibleFunction-Klasse zu erstellen, die die Erweiterung verarbeitet:
class ExtensibleFunction extends Function { constructor(f) { return Object.setPrototypeOf(f, new.target.prototype); } }
Diese Klasse kann dann verwendet werden, um bestimmte Klassen zu erweitern:
class Smth extends ExtensibleFunction { constructor(x) { super(() => { return x; }); // closure } }
Zusammenfassend: Durch die Erweiterung der Funktion mit ES6-Klassen kann das Verhalten der Funktion geerbt und gleichzeitig die Aufruflogik angepasst werden. Um beim Aufruf der erweiterten Funktion Zugriff auf Instanzdaten zu ermöglichen, können verschiedene Ansätze verwendet werden.
Das obige ist der detaillierte Inhalt vonWie können ES6-Klassen verwendet werden, um Funktionen zu erweitern und auf Instanzdaten zuzugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

Benutzerdefinierte Google -Search -API -Setup -Tutorial

JQuery fügen Sie Scrollbar zu Div hinzu
