Hallo,
Vielleicht sollte man von AA-like sprechen, wenn man wie im obigen Fall auf x["y"] ausgehend von einer vorherigen Array-Zuweisung zugreift?
Es ist insofern problematisch, weil Leute denken, dass der Array-Konstruktor nötig sei, um Unterobjekte zu einem Objekt hinzuzufügen.
Wenn man sich z.B. Beispiele aus dem Netz ansieht:
var links = new Array(4);
links["Netscape"] = "http://developer.netscape.com";
links["Mozilla"] = "http://www.mozilla.org";
links["Microsoft"] = "http://msdn.microsoft.com/scripting";
links["ECMA"] = "http://www.ecma.ch";
Das suggeriert, dass zwischen Array(4) und den vier Unterobjekten irgendeine Verbindung bestünde (»der assoziativer Array hat ja vier Elemente«). Stimmt aber wie gesagt nicht, es ist egal, ob man dort Array(), Array(12345), Object(), Function(), Number(), Boolean(), String(), Date(), Image() oder wasweißich hinschreibt.
Oder sollte man diesen Begriff bei JS gaenzlich vermeiden?
Ich finde ja. Meines Erachtens schafft der Begriff nur Verwirrung, weil das Konzept so in JavaScript nicht existiert. Eine Übertragung auf JavaScript führt also zu Missverständnissen wie den obigen. Außerdem ist es zuträglich für das Gesamtverständnis, zu wissen, dass Unterobjekte (Eigenschaften/Methoden) im Allgemeinen über bla.blub und bla['blub'] angesprochen werden können (ohne dass explizit oder impliziert konvertiert wird, sondern weil es ein grundlegendes Merkmal von ECMAScript ist).
Mathias