Tag Andreas.
Der Unterschied ist, daß Du mit KIND.Alter dem KIND-Objekt eine neue Eigenschaft zuweist - sie ist NICHT mehr die aus dem Elternelement.
Doch, durch "KIND.prototype = new ELTERN" wird das ELTERN-Objekt mit all seinen Eigenschaften auf das KIND-Objekt vererbt. Somit hat das KIND-Objekt automatisch die Eigenschaften (ELTERN.)Objekte und (ELTERN.)Alter. Welche Werte diese Eigenschaften haben ist hier erstmal von untergeordneter Bedeutung.
Mit KIND.Objekte[0] geht das nicht, weil KIND.Objekte nicht existiert, deswegen sieht JS im prototype-Objekt nach, ob es dort eine Eigenschaft Objekte gibt.
Und wird dort fündig.
Sieh Dir mal die JS-Fehlermeldungen an.
Wie meinst du das? Es gibt in der JS-Konsole keinerlei Fehlermeldungen, Warnungen oder Hinweise.
Du kannst z.B. sehr wohl KIND.Objekte = "dreirad" zuweisen. Aber das ist eine _neue_ Eigenschaft von KIND, nicht von ELTERN.
Nein, es ist ein neuer Wert für die Eigenschaft Objekte, die das KIND-Objekt vom ELTERN-Objekt geerbt hat. Das Problem ist hier m.E. tatsächlich das anonyme Array. Ein typeof Kind1.Objekte ergibt "Object", nämlich ein (anonymes) Array-Objekt, erzeugt durch die Anweisung '["leer"]', macht man diese Klammern weg, ergibt eine Typenabfrage für die Eigenschaft Objekte den Typ "String". Was erreicht werden soll, ist wohl, dass KIND.Objekte ein individuelles Array-Objekt werden soll, und das erreicht man m.E. nur über den von mir in https://forum.selfhtml.org/?t=97151&m=591906 vorgeschlagenen Weg.
[dsf 3.6]
Siechfred
»Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«