On Tue, Mar 4, 2014 at 12:30 PM, Andrea Giammarchi < andrea.giammar...@gmail.com> wrote:
> Apparently this triggered an @rwaldron which seems to be super-effective > > In agenda for April's meeting. > Yep: https://github.com/tc39/agendas/blob/master/2014/04.md Going to try, but it's so late in the game that I really can't promise anything--I think it's simple enough that we can get away with it. I will write up a proposed normative spec (likely based on Andrea's work) before I present, I've found that's a pretty powerful way to make a case for late additions ;) Rick > > Thanks > > Sent from my Windows Phone > ------------------------------ > From: C. Scott Ananian <csc...@cscott.net> > Sent: 3/4/2014 6:16 > To: Andrea Giammarchi <andrea.giammar...@gmail.com> > Cc: es-discuss@mozilla.org list <es-discuss@mozilla.org> > Subject: Re: Object.getOwnPropertyDescriptors(O) ? // plural > > Have you filed a bugzilla ticket for this? That seems the best way to > ensure it will get discussed at the next TC39 meeting and resolved one way > or the other. > --scott > On Mar 3, 2014 8:44 PM, "Andrea Giammarchi" <andrea.giammar...@gmail.com> > wrote: > >> up ? >> >> >> On Sun, Mar 2, 2014 at 5:43 PM, Andrea Giammarchi < >> andrea.giammar...@gmail.com> wrote: >> >>> Brandon I take your answer as +1, thanks. >>> >>> I've also "gisted" a possible/basic polyfill here: >>> https://gist.github.com/WebReflection/9317065 >>> >>> Cheers >>> >>> >>> On Sun, Mar 2, 2014 at 5:16 PM, Andrea Giammarchi < >>> andrea.giammar...@gmail.com> wrote: >>> >>>> actually, since `Object.getOwnPropertyDescriptor` accepts `Symbols` too >>>> as second argument, the equivalent with current ES6 would be even more >>>> prolix than that >>>> >>>> ```javascript >>>> >>>> var shallowCopy = Object.create( >>>> Object.getPrototypeOf(originalObject), >>>> Object.getOwnPropertyNames(originalObject).concat( >>>> Object.getOwnPropertySymbols(originalObject) >>>> ).reduce(function (descriptors, name) { >>>> descriptors[name] = Object.getOwnPropertyDescriptor( >>>> originalObject, name >>>> ); >>>> return descriptors; >>>> }, {}) >>>> ); >>>> >>>> ``` >>>> >>>> assuming Symbols will be definable through descriptors ... all this VS >>>> >>>> ```javascript >>>> var shallowCopy = Object.create( >>>> Object.getPrototypeOf(originalObject), >>>> Object.getOwnPropertyDescriptors(originalObject) >>>> ); >>>> ``` >>>> >>>> which I believe is a win. >>>> >>>> Thanks >>>> >>>> >>>> On Sun, Mar 2, 2014 at 5:01 PM, Andrea Giammarchi < >>>> andrea.giammar...@gmail.com> wrote: >>>> >>>>> I wonder if by any chance this could sneak into ES6 ... we have only >>>>> singular version here: >>>>> >>>>> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.getownpropertydescriptor >>>>> >>>>> **rationale** >>>>> The easiest way to create a shallow copy of a generic object could be: >>>>> >>>>> ```javascript >>>>> var shallowCopy = Object.create( >>>>> Object.getPrototypeOf(originalObject), >>>>> Object.getOwnPropertyDescriptors(originalObject) >>>>> ); >>>>> ``` >>>>> >>>>> Today what we have to do this instead: >>>>> >>>>> ```javascript >>>>> var shallowCopy = Object.create( >>>>> Object.getPrototypeOf(originalObject), >>>>> Object.getOwnPropertyNames(originalObject).reduce( >>>>> function (descriptors, name) { >>>>> descriptors[name] = Object.getOwnPropertyDescriptor( >>>>> originalObject, name >>>>> ); >>>>> return descriptors; >>>>> }, {}) >>>>> ); >>>>> ``` >>>>> >>>>> I see latter pattern as sort of unnecessary overhead that could be >>>>> also much faster in core and polyfilled in the meanwhile. >>>>> >>>>> Thoughts ? >>>>> >>>>> Cheers >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> >> > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss