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

Reply via email to