title: `this` scope changes on import
body: <p>I have such a situation in my NodeJS project:</p>
  <pre class="lang-js prettyprint-override"><code>//utility.js
  
  module.exports = () =&gt; {
     console.log(this.property1);
  }
  </code></pre>
  <pre class="lang-js prettyprint-override"><code>//main.js
  const utilityFunc = require(./utility);
  
  class MyClass {
  
    constructor(name){
      this.property1 = name; 
    }
  
    foo(){
      //...
      utilityFunc();
    }
  
  }
  
  const myObject = new MyClass('A name');
  myObject.foo();
  </code></pre>
  <p>What I expect is to output 'A name', but <code>property1</code> is not defined in the scope of <code>this</code>. This code seems to work if I write the function in <code>main.js</code> instead of importing it. I'm trying to figure out why this happens.</p>