title: Revisiting extending native prototypes after ECMAScript 5
body: <p>Recently, given the changes to defining properties in ECMAScript 5, I have revisited the question of whether we can safely extend the native JavaScript prototypes.  In truth, all along I have extended prototypes like Array and Function, but I avoided doing so with Object, for the obvious reasons.  In unit testing with Jasmine, by adding Object.prototype specs to specs for my own personal framework, extending Object.prototype with non-enumerable <strong>functions</strong> has appeared to be safe.  Data properties like a "type" property, however, with getters/setters that do any unusual processing have had unintended consequences.  There is still the possibility of conflicts with other libraries--though in my work, that hardly ever comes up. Nevertheless, as long as the functions are not enumerable, it looks like extending Object.prototype can be safe.  </p>
  
  <p>What do you think?  Is it safe to extend Object.prototype now?  Please discuss.  </p>