title: An object with an undefined `constructor` property
body: <p>So I have an object created by the <code>eventemitter3</code> node module. The event emitter has a property <code>_events</code>, which, when I look at it in the Chrome inspector, shows <code>Events {}</code>. However, when I attempt to look at its constructor (<code>temp1.constructor</code>), I get <code>undefined</code>! Under the description on MDN (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor" rel="nofollow noreferrer">here</a>), it says "All objects will have a <code>constructor</code> property", yet I have a clear counterexample here in my Chrome console (I also tried this in Firefox, so it's unlikely to be a problem with V8).</p>
  
  <p>I can see in <a href="https://github.com/primus/eventemitter3/blob/master/index.js" rel="nofollow noreferrer">the eventemitter3 source</a> the following lines that define the <code>Events</code> class:</p>
  
  <pre><code>//
  // We try to not inherit from `Object.prototype`. In some engines creating an
  // instance in this way is faster than calling `Object.create(null)` directly.
  // If `Object.create(null)` is not supported we prefix the event names with a
  // character to make sure that the built-in object properties are not
  // overridden or used as an attack vector.
  //
  if (Object.create) {
    Events.prototype = Object.create(null);
  
    //
    // This hack is needed because the `__proto__` property is still inherited in
    // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.
    //
    if (!new Events().__proto__) prefix = false;
  }
  </code></pre>
  
  <p>So I suppose it makes sense that they're trying to get rid of the <code>constructor</code> property but:</p>
  
  <ol>
  <li>How does Chrome still know where the object came from enough to print its name in the console?</li>
  <li>Is the MDN description wrong about constructors?</li>
  <li>How can I glean the string <code>"Events"</code> from the object in JavaScript?</li>
  </ol>