String.prototype.replace() problems with JSON.stringify() and serialization of Objects

Rick Waldron waldron.rick at gmail.com
Tue Jul 29 13:32:03 PDT 2014


On Mon, Jul 28, 2014 at 10:29 PM, Christoph Martens <cmartensms at gmail.com>
wrote:

>  On 28.07.2014 17:24, Rick Waldron wrote:
>
>
>
>
> On Mon, Jul 28, 2014 at 11:16 AM, Boris Zbarsky <bzbarsky at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140729/21d0eda6/attachment.html>


More information about the es-discuss mailing list