Standardizing __proto__
Allen Wirfs-Brock
allen at wirfs-brock.com
Fri Mar 18 11:33:54 PDT 2011
I think Oliver's original formulation is more correct, but regardless this really would have to be specified using ES5 pseudo code.
This is along the path of what I was calling a "generalized" solution to the problem and as such I think it needs deeper/longer consideration to be sure we have it right. I think a single argument Array.create is safer if we are looking for something that could be immediately implemented in order to start phasing out __proto__. Having Array.create wouldn't stop also providing a more general solution such as the one below.
Allen
On Mar 18, 2011, at 10:56 AM, Mike Shaver wrote:
> On Fri, Mar 18, 2011 at 10:45 AM, Oliver Hunt <oliver at apple.com> wrote:
>> I think so -- my proposal doesn't take instances, nor produce instances, it takes the constructor function (Image is one of a handful of DOM constructor that can actually be used to construct things) and returns a new constructor that will produce an instances of the target object with a modified prototype chain.
>
> Andreas in IM that we hang it on the prototype chain, so that we get
> it everywhere without repetitive specification. How about:
>
> Function.prototype.createDelegatingTo = function (obj)
> {
> var o = new this; // really new-with-apply(arguments) here
> o.__proto__ = obj;
> return o;
> }
>
> Then Array.createDelegatingTo, Boolean.createDelegatingTo, Image, etc.
> should all work. (I like the longer, grosser name because I think
> it's sort of a gross pattern, and not something that should use up a
> concise name.)
>
> Mike
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
More information about the es-discuss
mailing list