JavaScriptの正規表現メソッドはコンテキスト依存?
JSにて、
var rx = /regexp/, t = rx.test;
として
t("unko");
で呼び出そうとするとエラーが起きる。
TypeError: test method called on incompatible undefined t("unko");
どうもtestがコンテキストに依存しているらしく
t.call(rx, str);
ではエラーが起きない。
http://stackoverflow.com/questions/12536259/regexp-showing-unexpected-type-error-in-javascript
.testで使用される正規表現パターンなんて.test用途以外で使われなさそうだし、コンテキスト依存はしてほしくないのだが…。かといってコンテキストをバインドするのも正規表現の美意識に反する(気がする)。しかし今のところそれ以外方法が思いつかないのも確かで。