title: What is the question mark for in a Typescript parameter name
body: <pre><code>export class Thread {
    id: string;
    lastMessage: Message;
    name: string;
    avatarSrc: string;
  
    constructor(id?: string,
                name?: string,
                avatarSrc?: string) {
      this.id = id || uuid();
      this.name = name;
      this.avatarSrc = avatarSrc;
    }
  }
  </code></pre>
  
  <p>In <code>id?</code> what's the <code>?</code> for?</p>