This section provides a quick summary of object property and method inheritance through the prototype object chain.
Here is a summary of how object, constructor, and prototype are related to each other.
JavaScript supports objects without class.
An object is created from a constructor function, which is also an object.
A property can be added to an object through the constructor during the object creation process.
A property can be added to an object after it has been created.
A constructor contains a property called "prototype", which points to an object serving as the prototype
to the constructor.
An object inherits all properties of its constructor's prototype.
The inheritance process is recursive process, which allows an object to inherit from multiple levels of prototypes of its constructor prototype chain.
The prototype of the constructor "Object" is base prototype of any prototype chain.
Methods follow same inheritance rules as properties. Actually, methods are properties with function definitions as their values.
The base prototype has several built-in default properties and methods.
Here is my diagram representing relations of object, constructor, and prototype.
It also shows how object properties and methods are inherited from its parent prototypes: