title: How to tell if an object was created with 'Object.create' or using literal syntax/'new' keyword
body: <p>I'm trying to figure out if there is a way to tell if an object was created using <code>Object.create()</code> or using the <code>new</code> keyword / literal syntax.  Because objects created with <code>Object.create()</code> do not take properties off the prototype property (they just sort of copy all the properties) and those made with the <code>new</code> and literal syntax take only the properties from the prototype property, it seems difficult to tell how an object was created.  For example:</p>
  
  <pre><code>function Meat() {};
  var beef = new Meat();
  var tuna = Object.create(Meat);
  
  console.log(Object.getPrototypeOf(tuna));//=&gt; [Function: Meat]
  console.log(Object.getPrototypeOf(beef));//=&gt; {}
  
  console.log(tuna.constructor.prototype);//=&gt; [Function]
  console.log(beef.constructor.prototype);//=&gt; {}
  
  console.log(tuna.prototype);//=&gt; {}
  console.log(beef.prototype);//=&gt; undefined
  
  console.log(tuna.__proto__);//=&gt; object
  console.log(beef.__proto__);//=&gt; object
  
  console.log(typeof tuna);//=&gt; object
  console.log(typeof beef);//=&gt; object
  
  console.log(Meat.prototype.isPrototypeOf(tuna));//=&gt; false
  console.log(Meat.prototype.isPrototypeOf(beef));//=&gt; true   
  </code></pre>
  
  <p>There doesn't appear to be any way to tell the method by which an object inherited it's properties.  Any ideas?</p>