When is it appropriate to use a semicolon?
<p>I know that JavaScript (and thus TypeScript) support the omission of semicolons in many cases. Nevertheless I want to add semicolons to be unambiguous as suggested in <a href="https://basarat.gitbooks.io/typescript/content/docs/styleguide/styleguide.html#semicolons" rel="noreferrer">TypeScript Deep Dive</a></p>

<p>However I cannot find a guide that lists where to use semicolon. For example look at the following code</p>

<pre><code>class Person {
  private name: string; // A

  constructor(name: string) {
    this.name = name;
  }; // B

  public add = () =&gt; {
    return "C";
  }; // C
}; // D
</code></pre>

<p>I'm fairly sure to use a semicolon at <em>A</em>. But what about <em>B</em>, <em>C</em>, <em>D</em> and all the other cases not covered by my example?</p>

<p>I'm not asking where to omit semicolon but where to add them. An answer like <em>always</em> does not fulfill my needs since I cannot add a <code>;</code> after <code>public</code>. I want to know where exactly to put semicolon.</p>