Subclassing built-in constructors

Brendan Eich brendan at
Sat May 26 13:39:16 PDT 2012

Brendan Eich wrote:
> * __proto__ is widely used, especially on "the mobile web", which is 
> not "the web" that many who focus on desktop see or think of when 
> authoring. Thus Zepto's use of __proto__, but not of __define/lookup....

To sharpen this point, Zepto does use Object.keys without polyfill. This 
is an ES5 method. WebKit on "the mobile web" has ES5 support sufficient 
to obviate the need for __define/lookup... but not the need for __proto__.

This is the pressure IE and any non-WebKit browser lacking __proto__ 
support faces on mobile.

Another way of looking at it: ES5 happened and it is relied upon by 
mobile content authors, but ES5's Object.create is not sufficient to 
eliminate uses of __proto__, e.g. in Zepto.


More information about the es-discuss mailing list