title: __proto__ VS. prototype in JavaScript
body: <blockquote>
  <p>This figure again shows that every object has a prototype. Constructor
  function Foo also has its own <code>__proto__</code> which is Function.prototype,
  and which in turn also references via its <code>__proto__</code> 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.</p>
  </blockquote>
  <pre><code>var b = new Foo(20);
  var c = new Foo(30);
  </code></pre>
  <p>What are the differences between <code>__proto__</code> and <code>prototype</code>?</p>
  <p><img src="https://i.stack.imgur.com/UfXRZ.png" alt="enter image description here" /></p>
  <p>The figure was taken from <a href="http://dmitrysoshnikov.com/ecmascript/javascript-the-core/" rel="noreferrer">dmitrysoshnikov.com</a>.</p>
  <p><em>Note:  there is now <a href="http://dmitrysoshnikov.com/ecmascript/javascript-the-core-2nd-edition/" rel="noreferrer">a 2nd edition (2017)</a> to the above 2010 article.</em></p>