<p dir="auto">Expected: Throw and error<br>
Chrome console- <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/96efae488642a974898b0dec4cd650ccf57521dd0d7f257a999d6088cd5d1343/687474703a2f2f692e696d6775722e636f6d2f4948546c5649702e706e67"><img src="https://camo.githubusercontent.com/96efae488642a974898b0dec4cd650ccf57521dd0d7f257a999d6088cd5d1343/687474703a2f2f692e696d6775722e636f6d2f4948546c5649702e706e67" alt="Chrome console" data-canonical-src="http://i.imgur.com/IHTlVIp.png" style="max-width: 100%;"></a></p>
<p dir="auto">Current: Just invoke an arrow function as constructor<br>
Babel-  <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/a673890b56f233a029dd7a131b43a59c1977c81a85d5f8de095a1c7cd0d1079a/687474703a2f2f692e696d6775722e636f6d2f75564f7368416f2e706e67"><img src="https://camo.githubusercontent.com/a673890b56f233a029dd7a131b43a59c1977c81a85d5f8de095a1c7cd0d1079a/687474703a2f2f692e696d6775722e636f6d2f75564f7368416f2e706e67" alt="Babel" data-canonical-src="http://i.imgur.com/uVOshAo.png" style="max-width: 100%;"></a><br>
Babel live- <a href="https://babeljs.io/repl/#?experimental=false&amp;evaluate=true&amp;loose=false&amp;spec=true&amp;code=let%20foo%20%3D%20(x)%20%3D%3E%20console.log('inside%20an%20arrow%20function')%3B%0A%0Avar%20ert%20%3D%20new%20foo()%3B" rel="nofollow">https://babeljs.io/repl/#?experimental=false&amp;evaluate=true&amp;loose=false&amp;spec=true&amp;code=let%20foo%20%3D%20(x)%20%3D%3E%20console.log('inside%20an%20arrow%20function')%3B%0A%0Avar%20ert%20%3D%20new%20foo()%3B</a></p>
<p dir="auto">Spec:<br>
<a href="http://tc39wiki.calculist.org/es6/arrow-functions/" rel="nofollow">http://tc39wiki.calculist.org/es6/arrow-functions/</a><br>
"Details" section -&gt; text "So new (() =&gt; {}) throws a TypeError"</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="let hello = () =&gt; &quot;Yo!&quot;;
let greet = new hello();"><pre class="notranslate"><span class="pl-k">let</span> <span class="pl-en">hello</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-s">"Yo!"</span><span class="pl-kos">;</span>
<span class="pl-k">let</span> <span class="pl-s1">greet</span> <span class="pl-c1">=</span> <span class="pl-k">new</span> <span class="pl-en">hello</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">^ must throw <code class="notranslate">TypeError: hello is not a constructor</code> but it does not. <a href="http://6to5.org/repl/#?experimental=true&amp;playground=true&amp;evaluate=true&amp;loose=false&amp;code=let%20hello%20%3D%20%28%29%20%3D%3E%20%22Yo!%22%3B%0A%0Alet%20greet%20%3D%20new%20hello%28%29%3B%0A" rel="nofollow">Same code</a></p>