Skip to content

The Object create() method

New Courses Coming Soon

Join the waiting lists

Find out all about the JavaScript create() method of the Object object

Introduced in ES5.

Creates a new object, with the specified prototype.


const newObject = Object.create(prototype)


const animal = {}
const dog = Object.create(animal)

The newly create object will inherit all the prototyope object properties.

You can specify a second parameter to add new properties to the object, that the prototype lacked:

const newObject = Object.create(prototype, newProperties)

where newProperties is an object of objects that define each property.


const animal = {}
const dog = Object.create(animal, {
  breed: {
    value: 'Siberian Husky'
console.log(dog.breed) //'Siberian Husky'

I didn’t just say breed: 'Siberian Husky' but I had to pass a property descriptor object, defined at the beginning of this page.

Object.create() is often used in combination with Object.assign():

const dog = Object.assign(Object.create(animal), {
  bark() {
→ Get my JavaScript Beginner's Handbook
→ Read my JavaScript Tutorials on The Valley of Code
→ Read my TypeScript Tutorial on The Valley of Code

Here is how can I help you: