<p dir="auto">So Babel is compiling a <code class="notranslate">for of</code> loop into code that uses Symbol - which is an <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility" rel="nofollow">ES6 specific feature</a>. Example:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="for (let i of x) {
  console.log(i)
}"><pre class="notranslate"><code class="notranslate">for (let i of x) {
  console.log(i)
}
</code></pre></div>
<p dir="auto">Babel output:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&quot;use strict&quot;;

var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;

try {
  for (var _iterator = x[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
    var i = _step.value;

    console.log(i);
  }
} catch (err) {
  _didIteratorError = true;
  _iteratorError = err;
} finally {
  try {
    if (!_iteratorNormalCompletion &amp;&amp; _iterator[&quot;return&quot;]) {
      _iterator[&quot;return&quot;]();
    }
  } finally {
    if (_didIteratorError) {
      throw _iteratorError;
    }
  }
}"><pre class="notranslate"><code class="notranslate">"use strict";

var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;

try {
  for (var _iterator = x[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
    var i = _step.value;

    console.log(i);
  }
} catch (err) {
  _didIteratorError = true;
  _iteratorError = err;
} finally {
  try {
    if (!_iteratorNormalCompletion &amp;&amp; _iterator["return"]) {
      _iterator["return"]();
    }
  } finally {
    if (_didIteratorError) {
      throw _iteratorError;
    }
  }
}
</code></pre></div>
<p dir="auto">I have some code like:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="for (var n of geoHashes) {
  console.log(n);
}"><pre class="notranslate"><code class="notranslate">for (var n of geoHashes) {
  console.log(n);
}
</code></pre></div>
<p dir="auto">Only in firefox it throws an error: ReferenceError: Symbol is not defined</p>