# 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.