title: Optional parameters on typescript interfaces?
body: <p>As <a href="https://stackoverflow.com/questions/37632760/what-is-the-question-mark-for-in-a-typescript-parameter-name">explained here</a> the <code>?</code> operator can be used to mark a function parameter as optional.  What does the <code>?</code> operator mean on interface parameters?  For example if we have this typescript interface:</p>
  
  <pre><code>    export interface Person {
      phone?: number;
      name?: string;
  }
  </code></pre>
  
  <p>And a class that implements the interface:</p>
  
  <pre><code>class Customer implements Person {
  } 
  </code></pre>
  
  <p>Did <code>Customer</code> now implement Person correctly because all the properties on the <code>Person</code> interface are optional?</p>