Difference between Object.create and new - Javascript
The object used in Object.create actually forms the prototype of the new object, where as in the new Function() form the declared properties/functions do not form the prototype. Object.create builds an object that inherits directly from the one passed as its first argument. With constructor functions, the newly created object inherits from the constructor's prototype, e.g.: var o = new SomeConstructor (); In the above example, o inherits directly from SomeConstructor.prototype . There's a difference here, with Object.create you can create an object that doesn't inherit from anything, Object.create(null); , on the other hand, if you set SomeConstructor.prototype = null; the newly created object will inherit from Object.prototype . You cannot create closures with the Object.create syntax as you would with the functional syntax. This is logical given the lexical (vs block) type scope of JavaScript. Well, you ...