ES6 template string already solve the problem that this thread states, without changing replace: http://gul.ly/149g
Rick On Tue, Jul 29, 2014 at 2:24 PM, Alex Kit <alex....@atmajs.com> wrote: > Would be nice to use something similar that mozilla now does: replace(string, > mix, ?flags) > <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace>, > but so that flags are also applied for strings. It wont break nothing as > when (string, string) is used, then usual behaviour is applied, but with > flags the behaviour is extendible, it would be possible then: > > // replace global'foo x foo'.replace('foo', 'baz', 'g') //> 'baz x baz' > // global and case insensitive'Foo x foo'.replace('foo', 'baz', 'gi') //> > 'baz x baz' > // and now the subject, e.g. `r`(raw) flag'foo bar`'.replace('foo', '$`', > 'rg') //> '$` bar`' > > > > > ------------------------------ > From: f.bagna...@gmail.com > Date: Tue, 29 Jul 2014 14:00:22 -0700 > Subject: Re: String.prototype.replace() problems with JSON.stringify() and > serialization of Objects > To: waldron.r...@gmail.com > CC: es-discuss@mozilla.org > > > Of course it's a hack :-) > > So, moving forward, it'd have to be an extra method on strings, that only > provides a small change in behavior. It's probably not going to happen > because it's such a small change. > > Potentially a S.p.replaceAll which has the same behavior as split-join in > that: "a b a c a d".replaceAll("a", "X") => "X b X c X d". > > But then you end up with similar concerns to those expressed in the > current .contains thread (it's inconsistent). > > > > > On Tue, Jul 29, 2014 at 1:32 PM, Rick Waldron <waldron.r...@gmail.com> > wrote: > > > > > On Mon, Jul 28, 2014 at 10:29 PM, Christoph Martens <cmarten...@gmail.com> > wrote: > > On 28.07.2014 17:24, Rick Waldron wrote: > > > > > On Mon, Jul 28, 2014 at 11:16 AM, Boris Zbarsky <bzbar...@mit.edu> wrote: > > On 7/28/14, 11:09 AM, Rick Waldron wrote: > > var y = x.replace('{{blob}}', function() { > return data; > }); > > > In fairness, that's the sort of thing that gives off a "WAT smell". Code > like this without a comment that explains the indirection is just asking > someone to "simplify" it, breaking it in the process... > > > I don't disagree with your feedback, but JS has had special semantics > for "$" (with ’ or n) character in the replaceValue since ES3 (just short > of 15 years). I didn't say that the solution was obvious, just that it > required familiarity ;) > > Rick > > > _______________________________________________ > es-discuss mailing > listes-discuss@mozilla.orghttps://mail.mozilla.org/listinfo/es-discuss > > > Hey Rick, > > To be honest, I didn't know the trick with the dummy filter function > returning the plain data. I expected that it was executed each time a match > was found (similar to Array filter functions). > > I think for external guys writing JavaScript, the WAT effect is pretty > huge. Either we should change the behaviour of the parameters (which is bad > for legacy implementations) > > > The progress of JS is limited only to non-web-breaking changes. > > > Rick > > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > > > > _______________________________________________ es-discuss mailing list > es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss