title: The variable `this` in an Arrow function is the Window object in a Browser, but why is it empty in Node?
body: <p>In the browser, <code>this</code> in classic and arrow functions expectedly returns the Windows object:</p>
  <pre><code>&lt;script&gt;
      function testClassic() {
          console.log(this);
      }
      const testArrow = () =&gt; {
          console.log(this);
      }
      testClassic();
      testArrow();
  &lt;/script&gt;
  </code></pre>
  <p><a href="https://i.stack.imgur.com/8XKE1.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8XKE1.png" alt="enter image description here" /></a></p>
  <p>But in Node, <code>this</code> is the global object only in the classic function but <code>this</code> is empty in the arrow notation function. Why is that?</p>
  <p><a href="https://i.stack.imgur.com/u3Zsh.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/u3Zsh.png" alt="enter image description here" /></a></p>