Array.isArray()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
Array.isArray() éçã¡ã½ããã¯ã渡ãããå¤ã Array ãã©ããã夿ãã¾ãã
試ãã¦ã¿ã¾ããã
console.log(Array.isArray([1, 3, 5]));
// äºæ³ãããçµæ: true
console.log(Array.isArray("[]"));
// äºæ³ãããçµæ: false
console.log(Array.isArray(new Array(5)));
// äºæ³ãããçµæ: true
console.log(Array.isArray(new Int16Array([15, 33])));
// äºæ³ãããçµæ: false
æ§æ
Array.isArray(value)
弿°
value-
ãã§ãã¯ãããªãã¸ã§ã¯ãã
è¿å¤
value ã Array ã®å ´å㯠true ã§ããããã§ãªããã° false ãè¿ãã¾ãã value ã TypedArray ã¤ã³ã¹ã¿ã³ã¹ã§ãã£ãå ´åã¯å¸¸ã« false ãè¿ãã¾ãã
解説
Array.isArray() ã¯ã渡ãããå¤ã Array ã§ãããã©ããã調ã¹ã¾ããããã¯ã in æ¼ç®åã¨åæ§ã«ã Array() ã³ã³ã¹ãã©ã¯ã¿ã¼ã«ãã£ã¦åæåããããã©ã¤ãã¼ããã£ã¼ã«ãã«å¯¾ãã¦ããã©ã³ããã§ãã¯ããè¡ãã¾ãã
ããã¯ã誤æ¤ç¥ã誤æ¤åºãé¿ãããã¨ãã§ããããã instanceof Array ã®ããå
ç¢ãªä»£æ¿ææ®µã¨ãªãã¾ãã
Array.isArray()ã¯ããããã¿ã¤ããã§ã¼ã³ã«Array.prototypeãããå ´åã§ããå®éã®Arrayã¤ã³ã¹ã¿ã³ã¹ã§ã¯ãªãå¤ãæå¦ãã¾ããinstanceof Arrayã¯ãããã¿ã¤ããã§ã¼ã³ã調ã¹ãããããããã®å¤ãåãå ¥ãã¾ããArray.isArray()ã¯ãå¥ã®é åã§æ§ç¯ãããArrayãªãã¸ã§ã¯ããåãå ¥ãã¾ããinstanceof Arrayã¯ãArrayã³ã³ã¹ãã©ã¯ã¿ã¼ã® ID ãé åéã§ç°ãªãããããããã®ãªãã¸ã§ã¯ãã«å¯¾ãã¦falseãè¿ãã¾ãã
詳ããã¯ã "Determining with absolute accuracy whether or not a JavaScript object is an array" ãåç §ãã¦ãã ããã
ä¾
>Array.isArray() ã®ä½¿ç¨
// 以ä¸ã®å¼ã³åºãã¯ãã¹ã¦ true ãè¿ãã¾ã
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
Array.isArray(new Array("a", "b", "c", "d"));
Array.isArray(new Array(3));
// ãã¾ãç¥ããã¦ããªããã®ã® Array.prototype ã¯é
åã§ã
Array.isArray(Array.prototype);
// 以ä¸ã®å¼ã³åºãã¯ãã¹ã¦ false ãè¿ãã¾ã
Array.isArray();
Array.isArray({});
Array.isArray(null);
Array.isArray(undefined);
Array.isArray(17);
Array.isArray("Array");
Array.isArray(true);
Array.isArray(false);
Array.isArray(new Uint8Array(32));
// ããã¯é
åã§ã¯ããã¾ãããé
åãªãã©ã«ã使ç¨ããæ§æã§ãã
// Array ã³ã³ã¹ãã©ã¯ã¿ã¼ã§ããªãããã§ãã
Array.isArray({ __proto__: Array.prototype });
instanceof 㨠Array.isArray()
Array ã®ã¤ã³ã¹ã¿ã³ã¹ããã§ãã¯ããéã Array.isArray ã¯é åãè¶
ãã¦ãåä½ããã®ã§ã instanceof ãããæ¨å¥¨ããã¾ãã
const iframe = document.createElement("iframe");
document.body.appendChild(iframe);
const xArray = window.frames[window.frames.length - 1].Array;
const arr = new xArray(1, 2, 3); // [1, 2, 3]
// é
åãæ£ãããã§ãã¯ã§ãã¾ã
Array.isArray(arr); // true
// arr ã®ãããã¿ã¤ã㯠xArray.prototype ã§ããã
// Array.prototype ã¨ã¯ç°ãªããªãã¸ã§ã¯ãã§ãã
arr instanceof Array; // false
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-array.isarray> |