Rolf B: Warum bei Prototype-Inheritance die Konstruktor-Funktion von Parentclass zu Childclass wechseln???

Beitrag lesen

Hallo MB,

es ist einfach im Javascript Objektsystem üblich, dass die Identität

Class.prototype.constructor == Class

erfüllt ist.

Das liegt vor allem daran, dass es Klassen in JavaScript eigentlich gar nicht gibt, nur Prototypen. D.h. die ursprüngliche Idee war vermutlich, dass man die Konstruktorfunktion gar nicht kennt, sondern nur das Prototypobjekt. Und wenn Du dann ein neues Objekt zu einem Prototypen erzeugen willst, musst Du

let rect = new rectProto.constructor(x,y,w,h)

aufrufen. Und das geht natürlich nur, wenn sich dort nicht der Konstruktor des Shape-Prototypen befindet.

Rolf

--
sumpsi - posui - obstruxi