title: TypeScript call method in method = TypeError: this.print is not a function
body: <p>I've got a main.ts file:</p>
  
  <pre><code>import { App } from './app';
  import './styles.scss';
  
  ready(new App().init);
  
  function ready(fn) {
    if (document.readyState !== 'loading'){
      fn();
    } else {
      document.addEventListener('DOMContentLoaded', fn);
    }
  }
  </code></pre>
  
  <p>and an app.ts file:</p>
  
  <pre><code>export class App {
      constructor() {
  
      }
      private print = (str: string) =&gt; console.log(str);
      init(){
          this.print('test');
      }
  }
  </code></pre>
  
  <p>When I run this with the ts-loader in webpack using this tsconfig.json:</p>
  
  <pre><code>{
      "compilerOptions": {
          "target": "es5",
          "module": "commonjs",
          "sourceMap": true,
          "lib": ["es5", "dom", "es2015.iterable"]
      }
  }
  </code></pre>
  
  <p>I receive the error: Uncaught TypeError: this.print is not a function
      at HTMLDocument.App.init (app.ts:17)</p>
  
  <p>I've tried creating the method as private print(str){ console.log(str); }
  but this didn't solve it.</p>
  
  <p>How can I get the method call in the init() method to work?</p>
  
  <p>EDIT: forgot to add, I'm running webpack v. 1.14.0 and TypeScript 2.1.5 (tried with 2.1.4 also)</p>