Object arithmetic--operator alternative to Object.assign

Edwin Reynoso eorroe at gmail.com
Wed Mar 25 03:09:30 UTC 2015


Yea, um I'm only 16 and been programming in Javascript for about 2-3 years.
I haven't gotten to the Nitty Gritty part of Javascript specs. So I won't
be able to help out with that. I was just throwing out what I mentioned
above.

On Tue, Mar 24, 2015 at 10:39 PM, Rick Waldron <waldron.rick at gmail.com>
wrote:

>
>
> On Tue, Mar 24, 2015 at 7:09 PM Edwin Reynoso <eorroe at gmail.com> wrote:
>
>> For different objects this is the only way I see possible with
>> destructuring. IMO it's a bit ugly and weird to read deep destructuring:
>>
>> ```
>> let x = { a: 1 };
>> let y = { b: 2 };
>> let { x: { a }, y: { b } } = { x, y };
>> ```
>>
>> But I'd prefer Bob Myers's way:
>>
>> ```
>> let x = { a: 1 };
>> let y = { b: 2 };
>> {x.a, y.b}
>> ```
>>
>> Now that would be for destructuring. But isn't the following shorthand
>> property assignment not destructuring:
>>
>> ```
>> var c = {x,y};
>>
>> //so I'm thinking Bob wants the following:
>>
>> var c = {x.a, b.y}; // {a: 1, b: 2}
>> ```
>>
>
> As an exercise to see if this is reasonable, I spent some time drafting an
> outline addition to "12.2.5.9 Runtime Semantics:
> PropertyDefinitionEvaluation" that handled a newly defined (ie. thing I
> made up) "PropertyDefinition : IdentifierNameReference", but ran into
> issues when I had to consider all the forms that MemberExpression includes.
> https://people.mozilla.org/~jorendorff/es6-draft.html#sec-left-hand-side-expressions
>
>
>
>
> Rick
>
>
>
>
>>
>> On Tue, Mar 24, 2015 at 3:51 PM, Tab Atkins Jr. <jackalmage at gmail.com>
>> wrote:
>>
>>> On Tue, Mar 24, 2015 at 9:44 AM, Bob Myers <rtm at gol.com> wrote:
>>> > Apologies if something like this has already been proposed.
>>> >
>>> > We have simplified object literal syntax:
>>> >
>>> > {a, b}
>>> >
>>> > However, I often find myself writing this:
>>> >
>>> > {a: x.a, b: y.b}
>>> >
>>> > Would it be possible to have a syntax such as
>>> >
>>> > {x.a, y.b}
>>> >
>>> > Where the property name is taken from the last segment of the property
>>> > reference, so that `x.a` becomes the value of property `a`?
>>>
>>> If you're taking both values from the *same* object, we have the syntax:
>>>
>>> {a, b} = x;
>>>
>>> This may or may not help you.
>>>
>>> ~TJ
>>> _______________________________________________
>>> 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/20150324/38f54e32/attachment.html>


More information about the es-discuss mailing list