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
Wenn Threads gleichzeitig ausgeführt werden, müss...
In JavaScript können drei Arten von Meldungsfelde...
Inhaltsverzeichnis 1. Passen Sie den Inhalt der S...
Die meisten Leute kompilieren MySQL und legen es ...
In diesem Artikel wird das Tutorial zur kostenlos...
Aufgrund einiger seiner eigenen Merkmale (Sperren...
Bei unserer täglichen Arbeit führen wir manchmal ...
Schwebende Elemente führen dazu, dass ihre überge...
1. Ich habe ein VPS- und CentOS-System gekauft un...
Hintergrund Ursprünglich wollte ich ein 6.7 Vcent...
Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...
Name Charakter Name Charakter Information Nachric...
In letzter Zeit haben mich viele Studenten zur Ko...
1. Einleitung Zuvor haben wir die schnelle Entwic...
Vorwort Der Blogger verwendet die Idea IDE. Da di...