title: For...in loop causing potential out-of-memory crash
body: <p>Let's say you have this big <code>array</code> arr.</p>
  
  <pre><code>var arr = new Int32Array(99999999);
  </code></pre>
  
  <p>These two for loops do different things. This one pauses for a good amount of time and eventually returns a potential out-of-memory crash:</p>
  
  <pre><code>for (var i in arr) {console.log("done"); break;} 
  // --&gt; Paused before potential out of memory crash.
  </code></pre>
  
  <p>While this one ends instantly:</p>
  
  <pre><code>for (var i = 0; i &lt; arr.length; i++) {console.log("done"); break; } 
  // --&gt; Finishes immediately.
  </code></pre>
  
  <p>I know why the 2nd loop ends instantly, but why does the first loop cause a leak?</p>