I think it can be looks like: https://gist.github.com/artalar/ea8512546a3675648615a25e846096a6
25.04.2018, 18:58, "Isiah Meadows" <[email protected]>:
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 <[email protected]> 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" <[email protected]>: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 Артём Арутюнян <[email protected]> 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 list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

