A prototype in JavaScript is an object that acts as a blueprint for other objects. Objects can inherit properties and methods from their prototypes, creating a prototype chain. An object can be used as a prototype to create a new object.
Every object has a property called [[Prototype]]. This property references another object, known as the object's prototype. When an object is created, its [[Prototype]] property is set to the prototype of its constructor function.
The prototype of an object points to another object or to null —
Properties of the object's [[Prototype]] can also be accessed on the object itself.