Nowadays JSC and V8 both store objects and arrays the same way at this point, the only difference is the magic behavior of the length property that’s exposed.<p>Shift and unshift attempt to just move a pointer into the numeric storage of the object rather than
> Avoid giving the initial capacity to the array<p>This isn’t necessarily right. It’s perfectly fine to do:<p><pre><code> Array(n).fill()
</code></pre>
Which returns a dense array.