Я могу вставить значение по произвольному индексу за пределы массива следующим образом.
> const a = []
undefined
> a[999] = true
true
> a
[ <999 empty items>, true ]
Я подозреваю, что v8 не создает 999 пустых элементов под капотом, и массивы работают больше как объекты, и вместо этого мы создаем скрытый класс, который имеет один ключ, который является ключом 999
со смещением 0
. Это правильно?