For one thing, array "elements" are merely dynamic properties. For example, when you access a[0] you are really accessing a["0"], i.e., a dynamic property named "0".
For another thing, Ecmascript requires Array to allow accessing any property, such as a["foo"].
Gordon Smith, Adobe