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
sumpsi - posui - obstruxi