So why is the regex/string order reversed in the case of test, as in regex.test(string)? Why not string.test(regex) as with the other regex functions?
Because that is the way the language is designed. SO is not the place for discussions or speculation about such language design decisions, the background for which is in many cases lost in the mists of time.
If you're so intent on having a String#test function, then
String.prototype.test = function(re) { return re.test(this); };
or
String.prototype.test = function(re) { return this.search(re) !== -1; };
with all the normal caveats about the dangers of augmenting the prototypes of built-in types.
testis a method of theRegExpobject. So you're testing the regex to match a string. Is not a syntax issue is just a built-in method. You could implement your own String.test method if that's what you want. jsbin.com/bejikabedi/1/edit?js,consoletesta method of theRegExpobject whilematchetc. are not?testa regular expression, but it makes total sense for a regex totesta string.match, toreplace, and tosplita regex, and not the other way around? Sorry, I'm not really seeing it yet. The inconsistency bothers me!