# Inheritance and the prototype chain
When it comes to inheritance, JavaScript only has one construct: objects.
Each object has a private property which holds a link to another object called its **prototype**.
That prototype object has a prototype of its own, and so on until an object is reached with `null` as its prototype. By definition, `null` has no prototype, and acts as the final link in this **prototype chain**.
Prototypal inheritance involves using [[Object.create]]
the new keyword automates
1. creation of object
2. return of object
3.