NachlassES5-Prototypvererbung Die Vererbung wird über die Prototypenkette (Konstruktor + [[Prototyp]]) erreicht. (Hinweis: Ich werde __proto__ künftig in der Form [[Prototyp]] schreiben) // Übergeordnete Klasse: Funktion SuperType; Unterklasse: Funktion SubType; SubType.prototype = neuer SuperType(); // SubType erbt SuperType // Gemäß dem im vorherigen Abschnitt zur Prototypenkette erwähnten Wissenspunkt: Das __proto__ des instanziierten Objekts ist gleich dem Prototyp des Konstruktors SubType.prototype.__proto__ === SuperType.prototype // wahr Die obige Vererbungsbeziehung ist wie folgt: In Bezug auf den internen Implementierungsmechanismus besteht die Vererbung von ES5 tatsächlich darin, zuerst ein Instanzobjekt der Unterklasse this zu erstellen und dann die Methode der übergeordneten Klasse this hinzuzufügen. Ähnliche Verwendung: Father.apply(this) ES6-Klassenvererbung Die Vererbung wird durch „Extensiv“ + „Super“ der Klasse erreicht. Super Nutzung super kann als Funktion und als Objekt verwendet werden. Der Unterschied zwischen den beidenA: Sie sind nicht genau gleich. Es gibt mehrere Hauptunterschiede:
Interne Implementierung der ES5-PrototypvererbungBei der Vererbung in ES5 wird im Wesentlichen zuerst ein Instanzobjekt der Unterklasse „this“ erstellt und dann die Methode der übergeordneten Klasse zur Unterklasse „(this)“ hinzugefügt --- Father.apply(this). Interne Implementierung der ES6-KlassenvererbungDer Vererbungsmechanismus von ES6 ist völlig anders. Im Wesentlichen erstellt es zuerst ein Instanzobjekt this der übergeordneten Klasse, legt die Eigenschaften und Methoden der übergeordneten Klasse darauf ab (vorausgesetzt, es wird über die Superfunktion aufgerufen) und verwendet dann den Konstruktor der untergeordneten Klasse, um this zu ändern. Aufgrund der unterschiedlichen Implementierungsmechanismen gibt es bei der Vererbung nativer Konstruktoren einige Unterschiede zwischen diesen beiden Vererbungsarten: es5-Schreiben kann keine nativen Konstruktoren erben (wie Array, Number usw.). ErweiterungenEine Beschreibung des internen Implementierungsmechanismus finden Sie im entsprechenden Abschnitt von „Ruan Yifengs es6-Dokument – Klassenvererbung“. Damit ist dieser Artikel über die Unterschiede zwischen ES6- und ES5-Vererbung in Java abgeschlossen. Weitere Informationen zu den Unterschieden zwischen ES6- und ES5-Vererbung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Eine kurze Analyse von Unterabfragen und erweiterten Anwendungen in der MySql-Datenbank
>>: Implementierung der Graustufenversion mit Nginx und Lua
1. Frühere Versionen yum entfernen Docker Docker-...
1. Konfigurieren Sie die lokale Yum-Quelle 1. Mou...
Nginx (Engine x) ist ein leichter, leistungsstark...
Führen Sie den Befehl aus: glxinfo | grep renderi...
Beim Abspielen von Musik werden die Liedtexte im ...
<br />Verwandte Artikel: innerHTML HTML DOM ...
Kapitel 1 Installation des Quellcodes Die Install...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. v-bind: kann einige Daten a...
Voraussetzungen Compose ist ein Tool zum Orchestr...
Ich habe zufällig festgestellt, dass Vue.$set im ...
Inhaltsverzeichnis 1. Einfaches Seitenbeispiel 2....
Leider trat der Fehler MYSQL_DATA_TRUNCATED währe...
Als Server wird Nginx verwendet, als Datenbankunt...
Inhaltsverzeichnis Vorwort Untergeordnete Kompone...