title: Does a `for of` loop re-evaluate a filtered array?
body: <p>Consider this piece of javascript code:</p>
  
  <pre><code>cont groups = [{ name: 'Sean', type: 'A' }, 
        { name: 'Jen', type: 'A' }, 
        { name: 'Tom', type: 'B'}]
  
  for(const group of groups.filter(g =&gt; g.type === 'A')) {
      ...do some work
  }
  </code></pre>
  
  <p>Would the for loop re-evaluate the groups filter each iteration?  How would one go about testing that?  In this example it does not matter much, however, on large collections it may be important to instead lift the filter operation out into its own variable.</p>