Object.mixin/Object.assing with multiple args

Dmitry Soshnikov dmitry.soshnikov at gmail.com
Wed May 22 18:18:29 PDT 2013


Please hold on with pollyfilling, until we realize this is something is
really required and can be useful. If it's not, this should be changed to
multiple arguments. Since this "potential" map is not even in current
draft, I believe Rick refers to something that was never taken as a real
thing to apply.

Dmitry


On Wed, May 22, 2013 at 6:13 PM, Andrea Giammarchi <
andrea.giammarchi at gmail.com> wrote:

> I think `[mixin1, mixin2, mixin3].reduce(Object.mixin, source);` is a win,
> only thing I am not sure, is how this third argument could make into this
> approach (if reusable, I didn't even know about this extra arg)
>
> Any hint on the extra arg appreciated for polyfill purpose, thanks
>
>
> On Wed, May 22, 2013 at 6:00 PM, Dmitry Soshnikov <
> dmitry.soshnikov at gmail.com> wrote:
>
>>
>> On Wed, May 22, 2013 at 5:53 PM, Rick Waldron <waldron.rick at gmail.com>wrote:
>>
>>>
>>>
>>>
>>> On Wed, May 22, 2013 at 7:48 PM, Dmitry Soshnikov <
>>> dmitry.soshnikov at gmail.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> It's very likely it was (should have been I believe) discussed before,
>>>> and even probably was approved, but I don't see it in the latest draft yet.
>>>>
>>>
>>> The following has been discussed, but...
>>>
>>>
>>>>
>>>> Just to make sure, the signature of the "assign" and "mixin" method
>>>> should be:
>>>>
>>>> Object.assign(target, source,[source2, ..., sourceN]);
>>>> Object.mixin(target, source,[source2, ..., sourceN]);
>>>>
>>>> Current draft shows me only one source for both the methods.
>>>>
>>>
>>> That's correct. The third argument is being reserved for a descriptor
>>> map (potentially). Object.assign is not specified to match the _exact_
>>> behaviour of any existing object "merge", "extend", "mixin" operation.
>>>
>>>
>> OK, good to know. Can you show a practical example with this (potential)
>> descriptor map argument? Just wanna make sure it's really more useful than
>> accepting multiple sources.
>>
>>
>>> This is not unreasonable:
>>>
>>> function merge(target, ...sources) {
>>>   return sources.reduce(Object.assign, target);
>>> }
>>>
>>
>> Sure. The question is not that we can write own abstraction on top of
>> existing behavior, the question is having it out of the box. Unless the
>> descriptor map you mention really worth it.
>>
>> Dmitry
>>
>> _______________________________________________
>> 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/20130522/1090ac7f/attachment.html>


More information about the es-discuss mailing list