Doubt in JavaScript: The Good Parts Book:beget function
<p>I am reading JavaScript Good Parts. In the book, a beget function is defined. Its purpose is to create and return a new object, which uses the another object as its prototype. My doubt is why does the beget function instantiates a new function instead of an object?</p>

<pre><code>if( typeof Object.beget !== 'function' ){
    Object.beget = function(o){
          var F =new Function(){}; // this line, why it cannot be var F = new Object();
          F.prototype = o;
          return new F();
    }
}
</code></pre>
