Oops, meant to send to the rest of the list. Thanks for the feedback Isiah. 1. Fair! 2. Could you elaborate? I believe that's what this is, though I might be missing your point. 3. a. As I noted on GitHub I also considered that syntax originally. I'm torn on it because allowing out-of-order index definitions in an array little seems a bit wacky, but maybe it's not so bad? b. Hmm, this sounds interesting but I'm not sure I totally follow. Could you give a more convenient concrete example of the array pattern type for the example you're discussing?
Ben Le mar. 10 juill. 2018 00 h 15, Isiah Meadows <[email protected]> a écrit : > I like the idea, but there's a few tweaks I think could be made: > > 1. `replace` reads like you're doing a string or subarray replace. > This proposal sounds more like an `update`. > 2. If you allow it to carry the semantics of `slice()` + `array[index] > = value`, engines can implement it a bit quicker. > 3. IMHO, this belongs as syntax, either in addition or in place of > this proposal's method. If nothing else, it's for consistency with > object spread, but it also allows you to spread iterables similarly, > something like `[...iter, index: value]`. We could also introduce that > as an array pattern type, so we don't need to use elisions so > frequently to skip values in array destructuring patterns (think: > `regexp.exec(string)` results, when you don't care about all the > groups). There's been times where I've had upwards of 3-4 elisions all > clustered together, and that gets unreadable in a hurry. > > ----- > > Isiah Meadows > [email protected] > www.isiahmeadows.com > > > On Mon, Jul 9, 2018 at 11:42 PM, Ben Wiley <[email protected]> > wrote: > > Hi ECMAScript folks, > > > > I'm brand new to this process and I've drafted a proposal (and polyfill) > for > > a new Array.prototype.replace method. In the vein of Array concat, String > > replace and the new Object rest spread, Array replace provides a way to > > shallow clone an array and replace an element in a single statement. > > > > Here's the GitHub repo, which outlines API, motivation, use cases, > > alternatives, and polyfill usage: > > https://github.com/benwiley4000/array-replace > > > > Array replace shouldn't be considered an across-the-board substitute for > > Array.prototype.splice (which mutates the array) and wouldn't be ideal > for > > performance critical applications handling very large arrays. It is well > > suited for application logic where immutability is desired - a trend > growing > > in the Javascript community. > > > > Most of the application areas of object rest spread composition syntax > (for > > building objects, not destructuring them) are also application areas for > > Array.prototype.replace, when your object happens to be an array. > > > > I'm looking forward to any feedback and I'd also love for a champion to > step > > in and help, if you think this is an ok idea. > > > > Thanks! > > Ben > > > > _______________________________________________ > > 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

