title: In node.js, why is there a util.isArray and an Array.isArray?
body: <p>I just noticed the API docs for <a href="http://nodejs.org/api/util.html#util_util_isarray_object" rel="noreferrer">Node.js v0.10.26</a> provide for <code>util.isArray</code>,</p>
  
  <blockquote>
    <p>util.isArray(object)# Returns true if the given "object" is an Array.</p>
    
    <p>false otherwise.</p>
  </blockquote>
  
  <pre><code>var util = require('util');
  util.isArray([])
    // true
  util.isArray(new Array)
    // true
  util.isArray({})
    // false
  </code></pre>
  
  <p>But, how is that different ecmascripts normal, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray" rel="noreferrer">Array.isArray</a>?</p>
  
  <pre><code>&gt; Array.isArray([]);
  true
  &gt; Array.isArray(new Array);
  true
  &gt; Array.isArray({});
  false
  </code></pre>