戻る

Array.isArray()
Array.isArray()

与えられた値が配列であるかどうかを判定するメソッドです。
配列であればtrue
それ以外の型であればfalse
を返します。
このメソッドはinstanceofよりも堅牢で、
フレームワークなどで別の領域で作成された配列などにも
正確に対応できるという利点があります。

[サンプル]
copy
//[test 1]
console.log("Array.isArray");
console.log("1:" + Array.isArray([1, 2, 3]));//true
console.log("2:" + Array.isArray([]));//true
console.log("3:" + Array.isArray(new Array()));//true
console.log("4:" + Array.isArray(new Array("a")));//true
console.log("5:" + Array.isArray(new Array(100)));//true
console.log("6:" + Array.isArray({ key: "value" }));//false
console.log("7:" + Array.isArray());//false
console.log("8:" + Array.isArray({}));//false
console.log("9:" + Array.isArray(null));//false
console.log("10:" + Array.isArray(undefined));//false
console.log("11:" + Array.isArray(100));//false
console.log("12:" + Array.isArray(Array));//false
console.log("13:" + Array.isArray(true));//false
console.log("14:" + Array.isArray(false));//false

//[test 2]
console.log("typeof");
console.log("1:" + typeof([1, 2, 3]));//1:object
console.log("2:" + typeof([]));//2:object
console.log("3:" + typeof(new Array()));//3:object
console.log("4:" + typeof(new Array("a")));//4:object
console.log("5:" + typeof(new Array(100)));//5:object
console.log("6:" + typeof({ key: "value" }));//6:object
//console.log(typeof());//Uncaught SyntaxError: Unexpected token ')'
console.log("7:" + typeof({}));//7:object
console.log("8:" + typeof(null));//8:object
console.log("9:" + typeof(undefined));//9:undefined
console.log("10:" + typeof(100));//10:number
console.log("11:" + typeof(Array));//11:function
console.log("12:" + typeof(true));//12:boolean
console.log("13:" + typeof(false));//13:boolean

//[test 3]
console.log("instanceof Array");
console.log([1, 2, 3] instanceof Array);//true
console.log([] instanceof Array);//true
console.log(new Array() instanceof Array);//true
console.log(new Array("a") instanceof Array);//true
console.log(new Array(100) instanceof Array);//true
console.log({ key: "value" } instanceof Array);//false
//console.log(() instanceof Array);//Uncaught SyntaxError: Unexpected token ')'
console.log({} instanceof Array);//false
console.log((null) instanceof Array);//false
console.log((undefined) instanceof Array);//false
console.log((100) instanceof Array);//false
console.log((Array) instanceof Array);//false
console.log((true) instanceof Array);//false
console.log((false) instanceof Array);//false
Array.isArray()
Array.isArray()はプロトタイプチェーンに依存しない判定をする配列の判定方法のようです。

typeof
typeof演算子は変数の型を文字列として返します。
typeof演算子は配列を"object"型として返すため、
typeof演算子だけでは配列かどうかを確実に判別できないようです。

instanceof
プロトタイプチェーンを調べるためiframeなどで作成した配列を判定した場合は
falseを返すようです。




戻る


著作権情報
ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。
ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、
または公開したりすることはできません。
当方は、ホームペーよびアプリ利用したいかなる理由によっての障害等が発生しても、
その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について
一切の責任を負わないものとします。