Object.getOwnPropertyDescriptors(O) ? // plural

Rick Waldron waldron.rick at gmail.com
Tue Mar 4 09:38:11 PST 2014


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 <waldron.rick at gmail.com>wrote:

>
>
>
> On Tue, Mar 4, 2014 at 12:30 PM, Andrea Giammarchi <
> andrea.giammarchi at 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 <cscott at cscott.net>
>> Sent: 3/4/2014 6:16
>> To: Andrea Giammarchi <andrea.giammarchi at gmail.com>
>> Cc: es-discuss at mozilla.org list <es-discuss at 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.giammarchi at gmail.com>
>> wrote:
>>
>>> up ?
>>>
>>>
>>> On Sun, Mar 2, 2014 at 5:43 PM, Andrea Giammarchi <
>>> andrea.giammarchi at 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.giammarchi at 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.giammarchi at 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 at mozilla.org
>>> https://mail.mozilla.org/listinfo/es-discuss
>>>
>>>
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140304/259ac15d/attachment.html>


More information about the es-discuss mailing list