Вероятно, массив Javascript, потому что вы можете «только» использовать числовые значения ключей, где в качестве литералов объекта предусмотрено пространство для ключевых значений, и даже если вы используете числовые значения ключей, они, вероятно, обрабатываются иначе, чем числовые значения ключей для массивы.
Скорее всего, массивы reason не могут иметь текстовые значения ключей, потому что они обрабатываются иначе, чем объектные литералы. Я предполагаю, что, поскольку они, вероятно, обрабатываются по-разному, обработка для массива, вероятно, более оптимизирована для значений числовых ключей, поскольку литерал объекта оптимизирован для использования строк или чисел в качестве ключей.