title: What data structure are arrays implemented with in JavaScript?
body: <p>We be learning about arrays in computer science and how they occupy a continuous range of memory space.</p>
  
  <p>In a pure array you cannot add and remove elements without shifting other elements.</p>
  
  <p>So when I do:</p>
  
  <pre><code>const arr = ['a', 'b', 'd'];
  
  arr.splice(2, 0, 'c'); // arr is now ['a', 'b', 'c', 'd']
  </code></pre>
  
  <p>I am not performing an array operation and arrays must be implemented in some other way in JavaScript?</p>
  
  <p>Perhaps a linked list?</p>
  
  <p>I'm not asking for a specification, just in a typical implementation of the language in the browser or Node, what are they likely using?</p>
  
  <p>This <a href="https://stackoverflow.com/questions/365975/how-are-javascript-arrays-implemented">10 year old+ Q/A</a> touches on the subject but does not answer it, so please do not mark as a duplicate.</p>
  
  <blockquote>
    <p>The actual underlying representation may differ between browsers (or
    it may not).</p>
  </blockquote>
  
  <p>What is the most likely underlying <strong>data structure</strong> used?</p>