title: JavaScript type conversion: (true && 1) vs (true | | 1)
body: <p>JavaScript is non-strictly typed language as Java,for example.</p>
  
  <p>As we know, it converts value of result dependently upon context:</p>
  
  <p><code>"2" + "3"</code> results <code>"23"</code></p>
  
  <p><code>"2" * "3"</code> results <code>6</code></p>
  
  <p>This is quite clear and OK for understanding.</p>
  
  <p>I just tried following expressions and got confused:</p>
  
  <p><code>true &amp;&amp; 1</code> results <code>1</code> <br>
  <code>true || 1</code> results <code>true</code></p>
  
  <p>Why the first gives Number and the second gives boolean?</p>
  
  <p>Considering JavaScript conversion rules,I expect to get <code>boolean</code> values in both cases,due to <code>boolean</code> context of expression.</p>