【JavaScript】nullかobjectか配列の判定を行う

  • このエントリーをはてなブックマークに追加

typeof演算子は変数型を調べるのに非常に役に立つが、typeof演算子はnullもobjectも配列もすべて「object」と判定してしまう。
なので、この3つを区別するためには、nullが偽値(falsy)であること、Array.isArrayで配列がtrue、Array.isArrayでオブジェクトがfalseになることを利用する。次のようになる。




var array = [100,200,300];

var buf = null;

var obj = {"value":100};

console.log("typeof array = " + typeof array);//Object

console.log("typeof buf = " + typeof buf);//Object

console.log("typeof obj = " + typeof obj);//Object

console.log("Array.isArray(array) = "+Array.isArray(array));//true

console.log("Array.isArray(buf) = "+Array.isArray(buf));//false

console.log("Array.isArray(obj) = "+Array.isArray(obj));//false

if(buf === null){
  console.log("bufはnullである。");
}

if(obj && typeof obj === 'object' && !Array.isArray(obj)){
  console.log("objはオブジェクトである。");
}else{
  console.log("objはオブジェクトではない。");
}

if(array && typeof array === 'object' && Array.isArray(array)){
  console.log("arrayは配列である。");
}else{
  console.log("arrayは配列ではない。");
}
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*