title: Why is it Object.defineProperty() rather than this.defineProperty() (for objects)?
body: <p>I'm working on a JavaScript project, and was just wondering why an object instance doesn't inherit the <code>defineProperty()</code> and other methods, rather than having to call the superclass (superobject?) <code>Object</code> method.</p>
  
  <p>I've looked at the <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineGetter" rel="noreferrer">MDN docs</a>, and there are in fact "non-standard" property methods.</p>
  
  <p>But those are deprecated. Why would the move be to the <code>Object</code> methods?</p>
  
  <p>It seems to me that something like <code>instance.defineProperty(...)</code> is better than <code>Object.defineProperty(instance, ...)</code>. I would say the same about some of the other Object methods as well.</p>