title: Why does 'this' return 'undefined' when referred in an arrow function but doesn't when called on an anonymous function?
body: <p>I'm working with node.js v6.7.0 and while declaring an object with a reference to 'this' it returns undefined if it's inside an arrow function but when it's inside a regular anonymous function it returns the object itself (which is what I want)</p>
  
  <p>eg</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 obj = {
    key: 'val',
    getScopeWithArrow: () =&gt; {return this;}, //returns undefined
    getScopeWithAnonymous: function() {return this;} //returns the object properly
  }</code></pre>
  </div>
  </div>
  </p>