title: What is "new.target"?
body: <p>The ECMAScript 2015 specification mention the keyword (or words?) <strong><em>new.target</em></strong> exactly 3 times - 1 time in <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-arrow-function-definitions-static-semantics-contains">14.2.3</a>:</p>
  
  <blockquote>
    <p>Normally, Contains does not look inside most function forms However,
    Contains is used to detect <em>new.target</em>, this, and super usage within an
    ArrowFunction.</p>
  </blockquote>
  
  <p>and twice in <a href="http://www.ecma-international.org/ecma-262/6.0/#sec-arrow-function-definitions-runtime-semantics-evaluation">14.2.16</a>:</p>
  
  <blockquote>
    <p>An ArrowFunction does not define local bindings for arguments, super,
    this, or <strong>new.target</strong>. Any reference to arguments, super, this, or
    <strong>new.target</strong> within an ArrowFunction must resolve to a binding in a
    lexically enclosing environment</p>
  </blockquote>
  
  <p><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target">MDN</a> mentions it, but is very vague and the page is incomplete.</p>
  
  <p>Babel doesn't seem to support it. I got syntax errors when trying to use <em>new.target</em> in a function (arrow or others).</p>
  
  <p>What is it, and how is it supposed to be used?</p>