title: Angular - Type 'string' is not assignable to type 'boolean'
body: <p>Angular 4.3.1<br>
  Angular CLI 1.2.3<br>
  Typescript 2.3.4</p>
  
  <p>Component Typescript file:</p>
  
  <pre><code>public saveName: string;
  public overwrite: boolean;
  </code></pre>
  
  <p>The following markup fails with <strong>Type 'string' is not assignable to type 'boolean'</strong> when I run <code>ng build --prod</code></p>
  
  <pre><code>&lt;span&gt;{{!overwrite || saveName}}&lt;/span&gt;
  
  OR
  
  &lt;button *ngIf="!overwrite &amp;&amp; saveName"&gt;Save&lt;/button&gt;
  </code></pre>
  
  <p>However, it works fine with the following:</p>
  
  <pre><code>&lt;span&gt;{{saveName || !overwrite}}&lt;/span&gt;
  &lt;span&gt;{{overwrite || saveName}}&lt;/span&gt;
  &lt;button *ngIf="saveName &amp;&amp; !overwrite"&gt;Save&lt;/button&gt;
  &lt;button *ngIf="overwrite &amp;&amp; saveName"&gt;Save&lt;/button&gt;
  </code></pre>
  
  <p>Why am I getting that error?<br>
  More specifically, why does that error only show up when I have a negated boolean come before a string?</p>