Я читаю JavaScript: хорошие детали. В книге определена функция beget. Его цель - создать и вернуть новый объект, который использует другой объект в качестве своего прототипа. Почему функция beget создает экземпляр новой функции вместо объекта?
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();
}
}