This figure again shows that every object has a prototype. Constructor
function Foo also has its own__proto__which is Function.prototype,
and which in turn also references via its__proto__property again to
the Object.prototype. Thus, repeat, Foo.prototype is just an explicit
property of Foo which refers to the prototype of b and c objects.
var b = new Foo(20);
var c = new Foo(30);
What are the differences between __proto__ and prototype?

The figure was taken from dmitrysoshnikov.com.
Note: there is now a 2nd edition (2017) to the above 2010 article.
__proto__is the actual object that is used in the lookup chain to resolve methods, etc.prototypeis the object that is used to build__proto__when you create an object withnew: