dedlfix: (pseudo-)assoziative arrays in javascript: naming collisions mit methoden

Beitrag lesen

Tach!

assoziative arrays sind in js wohl objekte (oder umgekehrt, je nach sichtweise).

Es sind Objekte. Auch Arrays sind Objekte. Sagt zumindest der typeof. Es andersrum zu betrachten ist theoretisch möglich, aber praktisch nicht weiter sinnvoll.

denn some_object besitzt als objekt standardmaessig die methode constructor (sowie weitere methoden wie toString etc.)

Genauer gesagt, der Prototyp besitzt diese Methoden. Das ist von Vorteil, denn some_object.hasOwnProperty() liefert in dem Fall false.

oder ich mach's noch expliziter: […] Object.keys(some_object) […]

Auch so, aber eher, wenn man darüber iterieren möchte.

was waere denn in modernem javascript (und ohne jquery oder andere libs) ein sauberer weg, hashes/maps nutzen zu koennen, sodass ich mir keine gedanken darueber zu machen brauche, ob evtl. bereits eine methode existiert, die den gleichen namen traegt wie ein key eines key-value-pairs?

Object.keys() beim Iterieren, .hasOwnProperty() bei einzelner Abfrage.

Übrigens, in modernem Javascript braucht man auch kein var mehr. In deinen Beispielen kannst du auch für some_object const verwenden.

dedlfix.