Is JavaScript identity compare really needed here?
<p>This is from Crockford's <a href="http://rads.stackoverflow.com/amzn/click/0596517742" rel="nofollow">JavaScript: The Good Parts</a></p>

<pre><code>var is_array = function (value) {
   return Object.prototype.toString.apply(value) === '[object Array]';
};
</code></pre>

<p>Would this code have worked just as well if he had used a simple equality compare <code>==</code> instead of the identity compare <code>===</code>?</p>

<p>My understanding of identity is that it allows you to check if a value is really set to something specific, and not just something equivalent.  For example:</p>

<p><code>x == true</code></p>

<p>Will evaluate to true if x is 1, or true, but </p>

<p><code>x === true</code> will only be true if x is true.</p>

<p>Is it ever possible for the is_array function above to work with either <code>==</code> or <code>===</code>, but not the other?</p>
