Midway through the long, detailed article, we find this:
From string.js, line 97:
// We cast to String in case an argument
// is a Function. ...
var replacement =
This code converts arguments[i] to a string object using the String conversion function. This is possibly the slowest way to perform such a conversion, although it would be the most obvious to many developers coming from other languages.
Much quicker is to add an empty string ("") to the value you wish to convert:
= (arguments[i] + "").replace(...);
Now, it's quite possible that the author of the blog entry has a point, and the one technique is faster than the other.
However, unless this is in a very performance critical section, I think that the loss of readability is substantial. It is much easier, particularly for the casual reader, to read the first form of the code (with the String() conversion function), then it is to read the second form.