Angular - Type 'string' is not assignable to type 'boolean' : <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>
