Why "this" is undefined inside a fat arrow function definition? : <p>First I tried this -</p>

<pre><code>const profile = {
    name: 'Alex',
    getName: function(){
      return this.name;
    }
};
</code></pre>

<p>Which works fine. Now I tried the same thing with fat arrow. In that case "this" is coming undefined.</p>

<pre><code>const profile = {
    name: 'Alex',
    getName: () =&gt; {
      return this.name;
    }
};
</code></pre>

<p>This gives me an error </p>

<blockquote>
  <p>TypeError: Cannot read property 'name' of undefined</p>
</blockquote>

<p>What I learned was, fat arrow syntaxes are way better handling implicit "this". Please explain why is this happening.</p>
