title: What does "document.writeln(Object.prototype);" in javascript print?
body: <p>I tried and got the following output:</p>
  
  <p>[object Object]</p>
  
  <p>I am familiar with adding new functions to Object.prototype so that every object in the program inherits that new function.  But I am a bit curious to know how this has been implemented.  I am guessing Object should of type</p>
  
  <pre><code>{
      name: expression,
      name: expression,
      ...
  }
  </code></pre>
  
  <p>I am also guessing Object.prototype should be the key to one of the Object property and the value of that property is '[object Object]'.  Now would you please let me know if my understanding is correct?</p>
  
  <p>I am also wondering what is the difference between 'object' and 'Object' in '[object Object]'.  I am also wondering if any of the above mentioned objects is related to the one preceding '.prototype'.  Would you please clarify?</p>
  
  <p>When I tried to print Object.prototype.object, Object.prototype.Object, Object.prototype[object], Object.prototype[Object], and Object.prototype[0], I am always getting undefined.  If prototype doesn't have any property, how did I get [object Object]?</p>