Strings como claves de matriz en javascript

¿Por qué usar cadenas como claves de la matriz, la consola muestra esa matriz sin estos valores declarados y al iterar con estos valores donde las claves son cadenas no se muestran? , aunque puedo obtener valor de ellos.

>> var arr = [ 0, 1, 2, 3 ];
   undefined

>> arr["something"] = "aught";
   "aught"

>> arr
   [0, 1, 2, 3]

>> arr["something"]
   "aught"

>> for( var i = arr.length; i--; console.log( arr[ i ] ) );
   3
   2
   1
   0

Entiendo que las matrices son objetos que han implementado algún tipo de interfaz 'enumerar' en el motor de JavaScript. Lo más interesante es ese intérprete no arroja advertencia ni error así que pasé unos minutos buscando dónde podrían perderse los datos. Ahora, me equivoqué y usé[] en lugar de{}

Respuestas a la pregunta(4)

Su respuesta a la pregunta