Re: Proposal: spread assignment operator

2018-04-25 Thread Arutyunyan Artyom
 I think it can be looks like: https://gist.github.com/artalar/ea8512546a3675648615a25e846096a6 25.04.2018, 18:58, "Isiah Meadows" <isiahmead...@gmail.com>:It doesn't. But with objects, it's not a cheap operation to simply duplicate, and they aren't normally immutable like primitives. Furthermore, why is it for objects, not arrays? (I'm pushing that second question as a point of potential confusion - remember the user.) On Wed, Apr 25, 2018, 11:45 Arutyunyan Artyom <arta...@ya.ru> wrote:spread assignment not mutate, it reassign, like "+=" and other. if (('a = {...a,...b}'.length > 'a ...= b'.length) === ('n = n+1'.length > 'n += 1'.length)) { console.log('why "addition assignment" is necessary, but "spread assignment" is not?'); }   25.04.2018, 18:21, "Isiah Meadows" <isiahmead...@gmail.com>:Note: `Object.assign` mutates its first argument and (with only obscure caveats) does exactly this. Not sure syntax is necessary here. Oh, and arrays also have the common idiom `array.push(...values)` (but they could use an `Array.prototype.pushAll` to avoid polluting arguments lists). On Wed, Apr 25, 2018, 09:24 Артём Арутюнян <arta...@ya.ru> wrote:I propose spread assignment operator: var obj = { test1: 1 };var anotherObj = { test2: 2 };obj ...= { test2: 2 }; // == (obj = { ...obj, ...anotherObj })// { test1: 1, test2: 2 } I'm surprised it wasn't in the original implementation___es-discuss mailing listes-discuss@mozilla.orghttps://mail.mozilla.org/listinfo/es-discuss___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


Re: Proposal: spread assignment operator

2018-04-25 Thread Arutyunyan Artyom
spread assignment not mutate, it reassign, like "+=" and other. if (('a = {...a,...b}'.length > 'a ...= b'.length) === ('n = n+1'.length > 'n += 1'.length)) { console.log('why "addition assignment" is necessary, but "spread assignment" is not?'); }   25.04.2018, 18:21, "Isiah Meadows" :Note: `Object.assign` mutates its first argument and (with only obscure caveats) does exactly this. Not sure syntax is necessary here. Oh, and arrays also have the common idiom `array.push(...values)` (but they could use an `Array.prototype.pushAll` to avoid polluting arguments lists). On Wed, Apr 25, 2018, 09:24 Артём Арутюнян  wrote:I propose spread assignment operator: var obj = { test1: 1 };var anotherObj = { test2: 2 };obj ...= { test2: 2 }; // == (obj = { ...obj, ...anotherObj })// { test1: 1, test2: 2 } I'm surprised it wasn't in the original implementation___es-discuss mailing listes-discuss@mozilla.orghttps://mail.mozilla.org/listinfo/es-discuss___
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss