@Qwertiy Так или иначе массив является объектом( хоть и особым(экзотическим)), а так как в js объект это ассоциативный массив, значит и массив является ассоциативным массивом.
@Qwertiy и функции тоже объекты, значит ассоциативные массивы.
Вообщем как я понял это так, просто интерпретатор оптимизирует( имеет режим Fast elements ) работу с массивами. А в том случае если в массив добавляется свойство с ключом который не является целым не отрицательным числом, то интерпретатор перестает оптимизировать работу с массивом( переключает в режим Dictionary elements ) и работает с ним как с обычным объектом js ( Dictionary - это словарь, а словарь это ассоциативный массив).