How Prototype Works in JavaScript?

See the original posting on DZone Python

In JavaScript, y default, every function has a property called prototype; this property by default is empty, and you can add properties and methods to it when you create an object from this function. The object inherits its properties and methods. For beginners, understanding the difference between prototype and __proto__ has been difficult.

JavaScript does not have class implementation like Java or C#; in javascript, you create a constructor directly and then use this constructor to create an object.
Prototypes in JavaScript