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
Inhaltsverzeichnis 1. Was ist eine doppelt verknü...
Nach der Veröffentlichung von CentOS8.0-1905 habe...
Vor etwa einem Jahr habe ich einen Artikel geschr...
Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...
1. Einleitung CentOS8-Systemupdate, die neue Vers...
Vor kurzem musste ich alle Felder einer verknüpft...
Als ich kürzlich meinen Computer einschaltete, sa...
Ich habe zuvor einige dynamische Routing-Einstell...
Das Platzieren eines Suchfelds in der oberen Menü...
In diesem Artikelbeispiel wird der spezifische Co...
einführen HTML stellt die kontextuelle Struktur u...
Git ist in vscode integriert und viele Vorgänge k...
Inhaltsverzeichnis Prototypenkette Wir können ein...
<br />Gestalten Sie Ihre Website wissenschaf...
In der MySQL-Datenbank ist Null eine häufige Situ...