title: Relation between [[Prototype]] and prototype in JavaScript
body: <p>From <a href="http://www.jibbering.com/faq/faq_notes/closures.html" rel="noreferrer">http://www.jibbering.com/faq/faq_notes/closures.html</a> :</p>
  <blockquote>
  <p>Note: ECMAScript defines an internal [[prototype]] property of the internal Object type. This property is not directly accessible with scripts, but it is the chain of objects referred to with the internal [[prototype]] property that is used in property accessor resolution; the object's prototype chain. A public prototype property exists to allow the assignment, definition and manipulation of prototypes in association with the internal [[prototype]] property. <strong>The details of the relationship between to two are described in ECMA 262 (3rd edition) and are beyond the scope of this discussion.</strong></p>
  </blockquote>
  <p>What are the details of the relationship between the two? I've browsed through ECMA 262 and all I've read there is stuff like:</p>
  <blockquote>
  <p>The constructor’s associated prototype can be referenced by the program expression constructor.prototype,</p>
  <p>Native ECMAScript objects have an internal property called [[Prototype]]. The value of this property is either null or an object and is used for implementing inheritance.</p>
  <p>Every built-in function and every built-in constructor has the Function prototype object, which is the initial value of the expression Function.prototype</p>
  <p>Every built-in prototype object has the Object prototype object, which is the initial value of the expression
  Object.prototype (15.3.2.1), as the value of its internal [[Prototype]] property, except the Object
  prototype object itself.</p>
  </blockquote>
  <p>From this all I gather is that the [[Prototype]] property is equivalent to the <code>prototype</code> property for pretty much any object. Am I mistaken?</p>