Массив в js это специализированная форма объекта, а объект в js это ассоциативный массив. Т.е массив в js это все тот же ассоциативный массив, только с рядом новых свойств и методов. Все верно ?
В соответствии со спецификацией
Массив – это экзотический объект (объект, в котором семантика свойств может отличаться от стандартной), который обеспечивает специальную обработку для ключей называемых индексами массива. Свойство, у которого именем является индекс массива называется элементом. У каждого объекта Array, есть свойство length, значение которого всегда не отрицательно и меньше 232. Значение свойства length больше, чем значение любого индекса массива в текущем объекте. В момент добавления или изменения собственного свойства массива, другие свойства изменяются для поддержки данного инварианта.
Например, при добавлении свойства с именем соответствующем индексу массива, будет изменено и свойство length.
У экзотического объекта Array всегда есть неконфигурируемое свойство length
Экзотический объект Array использует свою собственную реализацию внутреннего метода [[DefineOwnProperty]]
Сборка персонального компьютера от Artline: умный выбор для современных пользователей