title: Higher perf - Map.prototype.forEach or for..of?
body: <p>Say I have:</p>
  
  <pre><code>const m = new Map();
  </code></pre>
  
  <p>is there a performance difference between:</p>
  
  <pre><code>for(let v of m){
  
  }
  </code></pre>
  
  <p>vs.</p>
  
  <pre><code>m.forEach(v =&gt; {});
  </code></pre>
  
  <p>I assume <code>Map.protoype.forEach</code> uses an iterator just like for..of? I read here that's it safe to delete keys from the map during iteration using for..of, see: <a href="https://stackoverflow.com/questions/35940216/es6-is-it-dangerous-to-delete-elements-from-set-map-during-set-map-iteration">ES6: Is it dangerous to delete elements from Set/Map during Set/Map iteration?</a></p>
  
  <p>and I am wondering if it's safe to delete keys from the map with a <code>Map.prototype.forEach</code> loop also.</p>