Prototypes are the mechanism by which JavaScript objects inherit methods and properties from one another. Since prototypes are an important part of JavScript, it's important to understand the basics of this concept.
The goal of this article is to show how prototype object of constructor functions is used to pass methods and properties to its instances.
In JavaScript, functions are objects. They are instances of the Function() constructor and this way every created function inherit certain methods and properties. One such inherited property is prototype. Initial value of the prototype is an empty object. Arrow functions are an exception, they do not have the prototype object and cannot be used as a constructor.
Let's create a simple function and we'll see that by default it contains the prototype property