title: How to initialize a typed Object in TypeScript/Angular?
body: <p>I'm new to Angular &amp; TypeScript and trying to figure out how to instantiate an object (before an api request is returned  with the real data).</p>
  
  <p>For example, my model looks like this:</p>
  
  <pre><code>//order.model.ts
  export class Order {
    constructor(public id: number, currency: string, public contact: Object, public items: Array&lt;Object&gt;) {}
  }
  </code></pre>
  
  <p>And then I try to instantiate that in one of my components, let's say the App component:</p>
  
  <pre><code>//app.component.ts
  export class AppComponent {
    @Input()
    public order: Order = new Order();
  }
  </code></pre>
  
  <p>Of course, it expected to receive 4 arguments when instantiating <code>new Order()</code> but received 0. Do I actually have to pass in undefined/empty values for each attribute of Order?</p>
  
  <p>In good ol' React (without TS) I would just initialize with an empty object and call it a day:</p>
  
  <pre><code>this.state = {
   order: {}
  }
  </code></pre>
  
  <p>What's best practice for this sort of thing in Angular/TS?</p>