title: Typescript argument type mismatch does not throw error
body: <p>I'm trying to familiarize myself with typescript in angular 2+ and I'm encountering something that seems strange to me. An argument passed from my template to my component via a method does not match it's typing but is not throwing an error.</p>
  
  <pre><code>checkValue(value:number) {
    console.log(typeof value) // returns type 'string'
  }
  </code></pre>
  
  <p>The source of the argument is coming from this button click event in my template:</p>
  
  <pre><code>&lt;input type="number" #numberInput&gt;
  &lt;button (click)="checkValue(numberInput.value)"&gt;+&lt;/button&gt;
  </code></pre>
  
  <p>I believe the input tag is not enforcing a type on the value and is sending it as a string but I am curious why the compiler doesn't catch this.</p>