Inheritance
JavaScript supports prototype inheritance. In other programming languages, objects and classes inherit from each other to use each other's properties and functions. However, in JavaScript, you have an object-based inheritance, which is called a prototype, in which objects use the properties of other objects. For example, if you have a Person object, then you can use the _proto_ attribute for that object to create another Student object:

Prototype chaining
In JavaScript, you create new objects from existing objects. This process is called prototype chaining. It is similar to inheritance in object-oriented systems.
Description
Prototype is a property of the constructor function. When you add any object property to a prototype, it will add this property or method to the objects created by the constructor function. In prototype chaining, we create a function prototype using the properties of the constructor function. Using this, all methods or properties transfer to the prototype object...