Zum Beispiel das Hash-Objekt. Da Hashs sowieso die grundlegende
Datenstruktur von JavaScript sind, ist das Prototype-Hash-Objekt nicht
wie die anderen Objekte einfach eine Extension des betreffenden
Standardobjekts:
Die Name/Wert-Paare sind im Hash-Objekt nämlich eine separate Entität,
sie sind nicht direkte Attribute des Objekts selbst. Wenn also h ein
Hash-Objekt ist, kann man zwar schreiben
h.name = value;
Aber dadurch wird das Paar name/value nicht der vom Hash-Objekt
verwalteten Wertemenge zugeordnet. Dies erreicht man nur, indem man
die set-Methode verwendet:
h.set( name, value );
Nur wenn man das Paar mit dieser Methode in den Hash aufnimmt, ist es
nachher z.B. in einem nackten "Vanilla" Hash, den man mit der toObject
()-Methode erzeugt:
h0 = h.toObject();
Dieser Tatsache muss man sich bewusst sein, sonst kann es schnell zu
Fehlern kommen. Der Nutzen des Prototype-Hashs ist aufgrund dieser
Tatsache relativ begrenzt.