Это очень просто.
new a is Object.create (a.prototype)
, тогда как Object.create (a) отличается от Object.create (a.prototype).новый запускает код конструктора, в то время как объект не запускает конструктор.
См. следующий пример:
function a(){
this.b = 'xyz';
};
a.prototype.c = 'test';
var x = new a();
var y = Object.create(a);
//Using New Keyword
console.log(x); //Output is object
console.log(x.b); //Output is xyz.
console.log(x.c); //Output is test.
//Using Object.create()
console.log(y); //Output is function
console.log(y.b); //Output is undefined
console.log(y.c); //Output is undefined