The prototype of Javascript is always confusing. No matter how experienced experts or the author himself, he often shows limited understanding of this concept, I think this confusion has emerged when we first came into contact with prototypes. They are often related to new and constructor, especially the prototype property of functions ). In fact, prototype is a very simple concept. To better understand it, we should first remember this principle, that is, to forget the knowledge we have learned about construtor prototypes.
What is prototype?
A prototype is an object that can be used to inherit attributes.
Can any object be prototype?
Yes
Objects with the original type
All objects have a prototype by default. Because the prototype itself is also an object, each prototype itself has a prototype (with only one exception, the default object prototype is at the top of the prototype chain.