Spells and Charms

プログラミング(呪文学)の学習記録。

入力値がどんな型なのか知りたい 〜配列(array)の判定〜

Javascriptには、型とよばれるタイプがあるのですが、
練習問題を解いていくにあたって「入力値がどんな型なのか知りたい」ときがあります。

 

typeof という演算子をつかいましょう、

という情報をネットで見かけることが多かったのですが、
自分の場合タイトルにもあげているように、配列を見分けたいということが割と頻繁にあり、 typeof は通用せず困りました。

 

なのでここにまとめておきます。

 

その前に型の復習。型ってなにか。

 

  1. string 文字列型
  2. number 数値型
  3. boolean 真偽値型
  4. null Null型
  5. undefined Undefined型
  6. Object Object型
    6.1 function
    6.2 Array
    6.3 Date
    6.4 RegExp

  

ここでいう型は1-6までのこと。
6のObjectの中に入っているArrayというのは、型ではない、ということだったのでした。

 

typeofは型の判別に使います。
つまり、Arrayだろうがfunctionだろうが、Object型なので、型判別の場合は同類に分類されてしまうようです。

 

 

では入力値が配列なのかどうかを知りたい場合はどうしたらいいのか。

 

Array.isArray(value)

*valueはチェックするオブジェクト

Array.isArray() | MDN

 

これでvalueの部分が配列れあれば true 、そうでなければ false を返してくれます。