Javascript-Prototypen und Vererbung [Duplikat]

Sep 09 2020

Meine Frage ist, ob das Objekt das letzte in der Prototypenkette ist. Alle Objekte erben Eigenschaften und Methoden davon. Wie er Methoden von Function.prototype erbt. Warum Object.__proto__ === Function.prototype// wahr, warum Object.__proto__ist nicht null.

Antworten

ScottMarcus Sep 09 2020 at 20:27

Das Grundlegende Objectin JavaScript muss eine Möglichkeit haben, es zu instanziieren, daher ist ein prototypeObjekt erforderlich , um Zeilen wie diese zu unterstützen:

let myObj = new Object();

Und deshalb Object.__proto__nicht null.

Das FunctionObjekt ist ein spezieller Objekttyp, der die Objektinstanziierung über einen Konstruktor erleichtert und bei dieser Verwendung als "Konstruktorfunktion" bezeichnet wird. Es ist also sinnvoll Object, von einem FunctionObjekt zu erben, damit Objektinstanzen erstellt werden können.

Geuis Sep 09 2020 at 20:28

Funktion ist auch ein Objekt. Es erbt also auch von Object.

Aber lassen Sie sich nicht verwirren Object.__proto__. Das fügt der Browser hinzu und ist eigentlich nicht Teil der Sprache. Verlassen Sie sich also nicht darauf und verwenden Sie es nicht.

Im Wesentlichen Function.prototypeist Object.__proto__.