title: TSLint double vs triple equality
body: <p>I know that a single equality sign means assignment; double means equality; and triple means equality and the same type. </p>
  
  <p>What I don't understand why the typescript linter would want me to use triple equality signs in this case: </p>
  
  <pre><code>function gcf(a: number, b: number): number
  {
      return (b == 0) ? (a) : (gcf(b, a % b));
  }
  </code></pre>
  
  <blockquote>
    <p>TsLint: == should be ===</p>
  </blockquote>
  
  <p>I know that 0 is a number and I also know that b is a number (or else I'll get a compilation error). So why would I want to use triple equality signs in this case?</p>