When is a JavaScript String not a string?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/10951906/why-does-foo-new-stringfoo-evaluate-to-false-in-javascript">Why does (&ldquo;foo&rdquo; === new String(&ldquo;foo&rdquo;)) evaluate to false in JavaScript?</a>  </p>
</blockquote>



<p>Over <a href="http://stackoverflow.com/questions/3586775/javascript-string-equality-whats-the-correct-way">here</a> I caught the advice that it's best to use non type-coercive string comparison, but in Chrome, I discovered something kind of odd:</p>

<pre><code>var t1 = String("Hello world!");
var t2 = new String("Hello world!");
var b1 = (t1==t2); // true
var b2 = (t1===t2); // false
</code></pre>

<p>Is this standard behavior? If so, what are the respective types of t1 and t2? Thanks.</p>
