Verwirrung Object.getPrototypeOf ()

Wie funktioniert Object.getPrototypeOf (obj)?

Gemäß der Definition sollte Object.getPrototypeOf (obj) die Prototypeigenschaft eines Objekts zurückgeben oder auf andere Weise dieselbe wie obj.constructor.prototype.

Mit new erstellte Objekte verwenden den Wert der Prototypeigenschaft ihrer Konstruktorfunktion als Prototyp.

Nehmen wir ein Beispiel:

<code>>element = document.getElementById("test")

>a = Object.getPrototypeOf(element)
HTMLDivElement
</code>

Angenommen, HTMLDivElement ist der Prototyp des Elements.

<code>>a.constructor.prototype
HTMLDivElement
</code>

a.constructor.prototype ist also HTMLDivElement, und Object.getPrototypeOf (a) sollte HTMLDivElement zurückgeben, gibt jedoch HTMLElement zurück. Ich bin völlig mit der Definition von getPrototypeOf () verwechselt.

<code>>b = Object.getPrototypeOf(a)
</code>

HTMLElement ----> warum? Ein.Konstruktor.Prototyp ist HTMLDivElement

Eigentlich kehrt es zurückproto Eigenschaft des Prototyps, ist es nicht falsch gemäß der Definition von getPrototypeOf ()?

<code>>a.constructor.prototype.__proto__
 HTMLElement
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage