И так имеется функция, которая принимает один, и второй необязательный аргумент, первый Класс-конструктор, второй его аргументы, и по сути он возвращает его объект, есть вопрос, new (Class.bind.apply( Class, arguments )),
каким образом он получает его прототип, прошу помочь детально)
function construct(Class/*,arg*/) {
return new (Class.bind.apply( Class, arguments ))()// ???
}
function Class(name){
this.name = name;
}
Class.prototype.sayHello = function(){
return 'Hello' + ' ' + this.name;
}
var obj = construct(Class, 'Steve');
console.log(obj.name); // "Steve"
console.log(obj.sayHello()); // "Hello Steve"