Question: should the returned array include property descriptors for properties whose key is a symbol?
Rick On Tue, Mar 4, 2014 at 12:34 PM, Rick Waldron <[email protected]>wrote: > > > > On Tue, Mar 4, 2014 at 12:30 PM, Andrea Giammarchi < > [email protected]> 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 <[email protected]> >> Sent: 3/4/2014 6:16 >> To: Andrea Giammarchi <[email protected]> >> Cc: [email protected] list <[email protected]> >> 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" <[email protected]> >> wrote: >> >>> up ? >>> >>> >>> On Sun, Mar 2, 2014 at 5:43 PM, Andrea Giammarchi < >>> [email protected]> 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 < >>>> [email protected]> 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 < >>>>> [email protected]> 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 >>> [email protected] >>> https://mail.mozilla.org/listinfo/es-discuss >>> >>> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss >> >> >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

