JavaScriptJavaScriptでオブジェクトが配列かどうかを確かめたい場合があります。そのときtypeof演算子は使えません。配列については、文字列"object"が返されるからです。いくつかのやり方が考えられます。5.1でArray.isArray()メソッドが備わりました。モダンブラウザを対象とするなど、ブラウザの実装が差し支えなければこのメソッドを使うとよいでしょう。Array.prototypeプロパティのオブジェクトは、配列であることにご注意ください。instanceof演算子を使うinstanceof演算子はプロトタイプチェーンを遡って、Object.prototype.constructorプロパティにオペランドと等しいコンストラクタ関数があるかどうかをブール値で返します。場合は、この演算子で配列かどうか確かめても大丈夫でしょう。falseただし、オブジェクトのプロトタイプチェーンを調べるので、Arrayクラスが継承に含まれていればtrueと評価されます。trueさらに詳しく述べると、異なるwindowオブジェクトは、異なるグローバル空間になります。そのため、instanceof演算子で調べると、異なるwindowオブジェクトの配列は別とみなされるのです。文字列表現にして確かめるMDN「Array.isArray()」は、このメソッドが使えないときの対策として、文字列表現に直す手法を紹介しています。jQuery.isArray()メソッドも同じ実装にもとづいているようです。array」には、Function.nameプロパティを使う方法がコメントされていました。このプロパティはまだ標準に加えられていないことに注意しなければなりません。