Name
Object.create() — create an object with specified prototype and properties
Availability
ECMAScript 5
Synopsis
Object.create(proto)Object.create(proto,descriptors)
Arguments
protoThe prototype of the newly-created object, or
null.descriptorsAn optional object that maps property names to property descriptors.
Returns
A newly created object that inherits from
proto and has the properties described
by descriptors.
Throws
- TypeError
If
protois not an object ornull, or ifdescriptorsis specified and causesObject.defineProperties()to throw a TypeError.
Description
Object.create() creates and
returns a new object with proto as its
prototype. This means that the new object inherits properties from
proto.
If the optional descriptors
argument is specified, Object.create() adds properties to the new
object as if by calling Object.defineProperties(). That is the
two-argument invocation Object.create(p,d) is equivalent
to:
Object.defineProperties(Object.create(p),d);
See Object.defineProperties() for more on
the descriptors argument, and see Object.getOwnPropertyDescriptor() for an explanation
of property descriptor objects.
Note that this is not a method to be invoked on an object: it is a global function and you must pass an object to it.
Example
// Create an object that has own properties x and y and inherits property zvarp=Object.create({z:0},{x:{value:1,writable:false,enumerable:true,configurable:true},y:{value:2,writable:false,enumerable:true,configurable:true},});
See Also ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access