And now to address the W3Schools elephant in the room (from Chapel's answer).
Arrays are already objects, just ones with a prototype (the Array object) and some very minor special handling.
As far as jamming non-numeric properties onto instances of Array. Doing so changes absolutely nothing about the array, save for adding the non-numeric properties to it. Its type doesn't change at all. Whoever wrote that was very, very wrong (then again, it's from W3Schools, so that should be expected).