Thomas: Objekthierarchien selbst definieren

Beitrag lesen

Hi JavaScript-Experten!

Ich würde gerne Objekthierarchien definieren; aber was beispielsweise mit VB ein Kinderspiel ist, will mir mit JavaScript nicht so recht gelingen. Das Problem sehe ich in den Arrays.

Beispiel:

function Book(Titel, Autor) {
 this.Titel = Titel;
 this.Autor = Autor;
 this.Kapitel = new Array();
}

function Chapter(Ueberschrift) {
 this.Ueberschrift = Ueberschrift;
}

var Buch = new Array();
Buch[12] = new Book("SELFHTML", "Stefan Münz");
Buch[12].Kapitel[2] = new Chapter();
Buch[12].Kapitel[2].Ueberschrift = "HTML";
Buch[12].Kapitel[5] = new Chapter();
Buch[12].Kapitel[5].Ueberschrift = "JavaScript";

Dieser Code funktioniert zwar; bei einer umfangreicheren Objekthierarchie finde ich die ewige Instanzierung (z.B. = new Chapter()) doch lästig.
Kann man das vielleicht auch im Konstruktor unterbringen? In VB würde ich Collection-Objekte erzeugen; also z.B. Chapters vom Typ Chapter.

Mein *Wunsch*code würde z.B. so aussehen:

var MyBooks = new Books();
MyBooks[12].Titel = "SELFHTML";
MyBooks[12].Autor = "Stefan Münz";
MyBooks[12].Chapters[2].Ueberschrift="HTML";
MyBooks[12].Chapters[5].Ueberschrift="JavaScript";

Möglich?
Wie müßten die Konstruktoren dafür aussehen??

Für Eure Antworten bin ich dankbar; auch für den Fall, dass sie "in JavaScript generell NICHT möglich" lautet!

Thomas