<h2 dir="auto">Bug Report</h2>
<p dir="auto"><strong>Current Behavior</strong><br>
A clear and concise description of the behavior.</p>
<p dir="auto"><strong>Input Code</strong></p>
<ul dir="auto">
<li>REPL or Repo link if applicable:</li>
</ul>
<p dir="auto"><a href="https://babeljs.io/repl#?babili=false&amp;browsers=&amp;build=&amp;builtIns=false&amp;spec=false&amp;loose=false&amp;code_lz=FACgZgrgdgxgLgSwPZRADwDQAIxYLxYgCU-AfFmiQN7BZYBuAhgE4UDctDLWAnvu5zT8ATBzrMApnAjMoWANqZe2MMQC6HAL5EQARiJA&amp;debug=false&amp;forceAllTransforms=false&amp;shippedProposals=false&amp;circleciRepo=&amp;evaluate=false&amp;fileSize=false&amp;timeTravel=false&amp;sourceType=module&amp;lineWrap=true&amp;presets=es2015%2Creact%2Cstage-2&amp;prettier=false&amp;targets=&amp;version=6.26.0&amp;envVersion=" rel="nofollow">https://babeljs.io/repl#?babili=false&amp;browsers=&amp;build=&amp;builtIns=false&amp;spec=false&amp;loose=false&amp;code_lz=FACgZgrgdgxgLgSwPZRADwDQAIxYLxYgCU-AfFmiQN7BZYBuAhgE4UDctDLWAnvu5zT8ATBzrMApnAjMoWANqZe2MMQC6HAL5EQARiJA&amp;debug=false&amp;forceAllTransforms=false&amp;shippedProposals=false&amp;circleciRepo=&amp;evaluate=false&amp;fileSize=false&amp;timeTravel=false&amp;sourceType=module&amp;lineWrap=true&amp;presets=es2015%2Creact%2Cstage-2&amp;prettier=false&amp;targets=&amp;version=6.26.0&amp;envVersion=</a></p>
<p dir="auto"><strong>Expected behavior/code</strong><br>
A clear and concise description of what you expected to happen (or code).</p>
<p dir="auto">chrome69 &amp;FF61 [2, 1, 1]<br>
babel [2,1,2]</p>
<p dir="auto"><strong>Babel Configuration (.babelrc, package.json, cli command)</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="{
  &quot;your&quot;: { &quot;config&quot;: &quot;here&quot; }
}"><pre class="notranslate"><span class="pl-kos">{</span>
  <span class="pl-s">"your"</span>: <span class="pl-kos">{</span> <span class="pl-s">"config"</span>: <span class="pl-s">"here"</span> <span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto"><strong>Environment</strong></p>
<ul dir="auto">
<li>Babel version(s): [e.g. v6.0.0, v7.0.0-beta.34]</li>
<li>Node/npm version: [e.g. Node 8/npm 5]</li>
<li>OS: [e.g. OSX 10.13.4, Windows 10]</li>
<li>Monorepo [e.g. yes/no/Lerna]</li>
<li>How you are using Babel: [e.g. <code class="notranslate">cli</code>, <code class="notranslate">register</code>, <code class="notranslate">loader</code>]</li>
</ul>
<p dir="auto"><strong>Possible Solution</strong></p>

<p dir="auto"><strong>Additional context/Screenshots</strong><br>
Add any other context about the problem here. If applicable, add screenshots to help explain.</p>
<p dir="auto">The following snippet:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="(function(x, f = () =&gt; x) { 
  var x; 
  var y = x; 
  x = 2; 
  return [x, y, f()];
})(1)"><pre class="notranslate"><span class="pl-kos">(</span><span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">x</span><span class="pl-kos">,</span> <span class="pl-s1">f</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">x</span><span class="pl-kos">)</span> <span class="pl-kos">{</span> 
  <span class="pl-k">var</span> <span class="pl-s1">x</span><span class="pl-kos">;</span> 
  <span class="pl-k">var</span> <span class="pl-s1">y</span> <span class="pl-c1">=</span> <span class="pl-s1">x</span><span class="pl-kos">;</span> 
  <span class="pl-s1">x</span> <span class="pl-c1">=</span> <span class="pl-c1">2</span><span class="pl-kos">;</span> 
  <span class="pl-k">return</span> <span class="pl-kos">[</span><span class="pl-s1">x</span><span class="pl-kos">,</span> <span class="pl-s1">y</span><span class="pl-kos">,</span> <span class="pl-s1">f</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">]</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">(</span><span class="pl-c1">1</span><span class="pl-kos">)</span></pre></div>
<p dir="auto">gives <code class="notranslate">[2, null, 1]</code> in Babel. Aside from <code class="notranslate">x</code> shadowing behavior (and what <code class="notranslate">f</code> should resolve to — 1 or 2 (which Babel and FF disagree on)), <code class="notranslate">y</code> definitely shouldn't be <code class="notranslate">null</code> here (as far as I can tell), so this looks like a bug?</p>