honjarake blog

自分用にテキトーにまとめる

matchの戻り値の型

var current = local.href.match();

と変数に格納したあと

current.match();

したらエラーになった
type errorその型にmatch関数ないよだって
typeof current を見てみたら [object] だった

[JavaScript] String.match( regexp ) の返り値は何か?/ 正規表現の変わりに文字列を使うとどうなるのか | 学習B5デスノート

ああ、配列が返っていたのか
以前、どこかのスクリプトでmatch使ったときは意識しないでも動いてたから良く調べずに使っていた
そのときは配列に対してmatchしていなかったのか

var foo = "文字列" + str.match();

みたいにしていて自動的にstring型に変換されていたのかな?(検証はしてない)

とりあえず、nullチェックしてから

var foo = str.match()[0];

で対処した
※環境:firefox 3?.? greasemonkey2.1