変数内の要素が配列かどうか確認する方法

投稿日:2022/06/28 最終更新日:2022/06/28

変数内の要素が配列かどうか確認する方法

確認方法

const animals = ['monkey', 'dog', 'cat', 'rabbit', 'horse'];
console.log(Array.isArray(animals)) // True

変数に格納されている値が配列だった場合にTrue、そうでなかった場合にFalseを返す方法です。

Arrayオブジェクトにはたくさんのメソッド(関数)が定義されています。

そのうち、isArrayメソッドはオブジェクトが配列かどうかを調べることの関数として使われます。

もし、以下のように

const animals = "monkey";
console.log(Array.isArray(animals)) // False

変数内がテキストであった場合、Falseを返します。

もちろん、数値やオブジェクトリテラルだった場合もFalseを返します。

incetanceofを使った方法

他にもincetanceof演算子を使っても配列かどうかを確認することが出来ます。

const animals = ['monkey', 'dog', 'cat', 'rabbit', 'horse'];
console.log(animals instanceof Object); // True

incetanceof演算子は「左側にある変数」が「右側に指定したオブジェクト」なのかどうかを確認することが出来ます。

これでも配列だった場合にTrueを返しますが、オブジェクトリテラルだった場合にもTrueを返しますので、

もし、厳密に配列なのかどうか確認したい場合はincetanceof演算子だと確認は出来ませんので注意してください。

※typeof演算子も同様で配列でもオブジェクトリテラルでも結果は”Object”になります