douglas at crockford.com
Sat May 7 11:44:31 PDT 2011
On 11:59 AM, Oliver Hunt wrote:
> It does annoy me that these were not made immutable. The safest way to create an object is still either with an object literal or new SomeFunction;
> I'm not convinced that Object.create added anything of value to the language, and certainly wouldn't recommend
> its use for general object creation.
I disagree. Object.create is the foundation of a system of delegation.
The best technique available now for general object creation is
Object.create(null), which allows for making objects which do not
inherit from Object.prototype. This is a better defense against
unintended inheritance than use of Object.prototype.hasOwnProperty,
which has multiple hazards.
I agree that the primordials should have been frozen, but as Brendan
says, that ship has sunk. But a smart library can now do that job, so a
page can elect to have the benefit of frozen primordials if it wishes.
More information about the es-discuss