Deep spread operator (Bilal Abdullah)

Henrique Barcelos rick.hjpbarcelos at gmail.com
Tue Oct 23 12:44:40 UTC 2018


IMO, this would be very problematic.

1. 4 dots are visually almost identical to 3 dots. This could introduce
severe bugs because of a simple hard to spot typo.

2. Deep traversing will always have performance problems in some cases.
Dealing with circular references can take this issue even further.

I believe such functionality should be used in very specific situations,
where object shape is well-known, not very deep and definitely not
circular. So, supporting this at the core of the language will probably be
frowned upon by the community.

Em ter, 23 de out de 2018 08:57, Ahad Cove <ahadcove at gmail.com> escreveu:

> Hello Scripters,
>
> I really appreciate everything you all have done for the language and have
> no complaints over here.
> I do have a suggestion though :)
>
> At work we’ve almost got rid of lodash, except we still need it for
> DeepCopy vs rolling our own.
> It’s the same with my side projects. I don’t use lodash because the main
> times that I need deep copy is when I’m either digging into the Redux store
> using React, or copying an observable in the Angular world.
>
> I believe ES Script users would appreciate having a deep copy spread
> operator tremendously.
>
> My proposal is to go off of the current spread operator we currently have
> in ES and make it 4 dots for a deep spread. This can be used on Objects or
> Arrays.
>
> ‘’’js
> const oldDeepObj = {
>   InnerObj: {
>        func: () => return ‘wow’
>    }
> }
>
> const obj = {....oldDeepObj}
> obj.innerObj.func = () => return ‘nice’
>
> oldDeepObj.innerObj.func()
> > wow
> ‘’’
>
> Thank you!
> Looking forward to hearing back from you all.
> If there’s any other questions let me know
>
> - Bilal Abdullah
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-- 

Henrique
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20181023/5e122a7f/attachment.html>


More information about the es-discuss mailing list