title: shorthand property name with *this*
body: <p>The following code fails</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>let x = {this}</code></pre>
  </div>
  </div>
  </p>
  <p>Why I cannot use shorthand property name with <strong>this</strong>?</p>
  <hr />
  <p>error messages from browsers</p>
  <blockquote>
  <p>chrome  66.0.3359.117 : Uncaught SyntaxError: Unexpected token }</p>
  <p>firefox 59.0.1 : this is an invalid identifier</p>
  <p>edge 41.16299.371.0 : The use of a keyword for an identifier is invalid</p>
  </blockquote>
  <p>I don't quite get what these messages say.</p>
  <hr />
  <p>Just to make it clear, the following code runs fine</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>let x = 5
  let y = {x}
  let z = {this:this}
  
  console.log({x,y,z})</code></pre>
  </div>
  </div>
  </p>