Tu es quand même subtilement de mauvaise foi

D'une part, 99% des sites web qui parlent de JS vont te dire d'utiliser object comme une table de hash

D'autre part, object a une méthode keys() qui fournit la liste des attributs (mais la méthode s'appelle
keys), les valeurs des attributs sont accessibles par [] (comme pour les tables de hash dans 99% des langages de programmation).
D'ailleurs, même le site que tu proposes :
A short example of an associative array (hash table) in JavaScript is as follows:
var h = new Object(); // or just {}
Et pour avoir une structure qui donne la taille, on refait une « classe », qui va stocker les propriétés… dans un Object.
Sinon, petite citation trouvée sur un blog amateur (
la doc JS chez Mozilla) :
Les objets en JavaScript sont simplement des collections de paires nom-valeur. Dans ce sens, ils sont similaires aux :
dictionnaires en Python,
hashs en Perl et Ruby,
tables de hashing en C et C++,
HashMaps en Java,tableaux associatifs en PHP.
Mais non, c'est uniquement mon interprétation

Et je reprends mon argument plus haut : un langage qui pousse à l'erreur 99% des gens *est* un mauvais langage.