<p dir="auto">The following example duplicates <code class="notranslate">i</code> declaration.</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="for (let i = 0; i &lt; 5; i++);
for (let i = 0; i &lt; 5; i++);"><pre class="notranslate"><span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">let</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">5</span><span class="pl-kos">;</span> <span class="pl-s1">i</span><span class="pl-c1">++</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">let</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">5</span><span class="pl-kos">;</span> <span class="pl-s1">i</span><span class="pl-c1">++</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">But the following doesn't:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="for (let i = 0; i &lt; 5; i++);
for (let i = 0; i &lt; 5; i++);
i;"><pre class="notranslate"><span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">let</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">5</span><span class="pl-kos">;</span> <span class="pl-s1">i</span><span class="pl-c1">++</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">let</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">5</span><span class="pl-kos">;</span> <span class="pl-s1">i</span><span class="pl-c1">++</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">i</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">I would expect both snippets to produce the same result.</p>
<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>Current behavior</strong></p>
<p dir="auto">Spreading an HTMLcollection over an array does not work in iPhone 4s and produces this error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects 
must have a [Symbol.iterator]()method."><pre class="notranslate"><code class="notranslate">Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects 
must have a [Symbol.iterator]()method.
</code></pre></div>
<p dir="auto"><strong>Input Code</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const test = [...document.getElementsByTagName('div'), 'xyz'];"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">test</span> <span class="pl-c1">=</span> <span class="pl-kos">[</span>...<span class="pl-smi">document</span><span class="pl-kos">.</span><span class="pl-en">getElementsByTagName</span><span class="pl-kos">(</span><span class="pl-s">'div'</span><span class="pl-kos">)</span><span class="pl-kos">,</span> <span class="pl-s">'xyz'</span><span class="pl-kos">]</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">Working:        Mac browsers (Chrome, Firefox, Safari), Android Chrome (Meizu M5 Note - 2016), and iPhone 8<br>
Not working: iPhone 4s (iOS 9) and very likely other old devices</p>
<p dir="auto"><strong>Expected behavior</strong></p>
<p dir="auto">It should just work on old devices like the iPhone 4s because new browsers now consider HTML collections as iterables (the fact that they work in most, if not all of, recent browsers).</p>
<p dir="auto"><strong>Environment</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="  System:
    OS: macOS 10.15.5
  Binaries:
    Node: 12.13.1 - /usr/local/bin/node
    npm: 6.14.5 - /usr/local/bin/npm
    Babel: 7.9.0
    Babel preset-env: 7.9.5
 - How you are using Babel: [`loader`]"><pre class="notranslate"><code class="notranslate">  System:
    OS: macOS 10.15.5
  Binaries:
    Node: 12.13.1 - /usr/local/bin/node
    npm: 6.14.5 - /usr/local/bin/npm
    Babel: 7.9.0
    Babel preset-env: 7.9.5
 - How you are using Babel: [`loader`]
</code></pre></div>