Строки в качестве ключей массива в JavaScript

Почему, используя строки в качестве ключей массива, консоль показывает этот массив без этих объявленных значений, и при итерации по этим значениям, где ключи являются строками, не отображаются? хотя я могу получить ценность их.

>> 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

Я понимаю, что массивы - это объекты, в которых реализован некий «перечислимый» интерфейс в движке javascript. Самое интересное, что переводчикне выдает ни предупреждение, ни ошибку поэтому я потратил немного времени на поиск, где данные могут быть потеряны. Я теперь, я был неправ, и я использовал[] вместо{}

Ответы на вопрос(2)

Ваш ответ на вопрос