Suggestion: Destructuring object initializer.

Bob Myers rtm at
Tue Feb 13 12:25:48 UTC 2018

Cool. I don't claim to fully understand this, but as I read your issue, it
seems the optimization could/would apply to either spread properties OR
`Object.assign` case. If that's true, then there's nothing specially
optimizable about spread properties, in which case that particular point
would NOT have been a reason to support its adoption. Or is there some
nuance I'm missing?

On Tue, Feb 13, 2018 at 4:58 PM, Isiah Meadows <isiahmeadows at>

> BTW, regarding engine optimizability of those, I've filed a couple V8 bugs:
> - (object spread
> + `Object.assign`)
> - (array spread +
> `Array.prototype.concat`)
> There are things engines *could* do that they *aren't currently
> doing*. Part of why I proposed V8 take a look at this is because it
> has one of the more flexible IC systems out of all the engines (they
> can lower `` to a simple loop for dense arrays even
> though a simple `delete array[index]` within the loop breaks the
> assumption - this is *exceptionally* difficult to implement with the
> ability to deoptimize).
> -----
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list