Строки в качестве ключей массива в 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. Самое интересное, что переводчикне выдает ни предупреждение, ни ошибку поэтому я потратил немного времени на поиск, где данные могут быть потеряны. Я теперь, я был неправ, и я использовал[]
вместо{}