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]));
// Expected output: true
console.log(Array.isArray("[]"));
// Expected output: false
console.log(Array.isArray(new Array(5)));
// Expected output: true
console.log(Array.isArray(new Int16Array([15, 33])));
// Expected output: false
๊ตฌ๋ฌธ
Array.isArray(value)
๋งค๊ฐ๋ณ์
value-
ํ์ธํ ๊ฐ์ ๋๋ค.
๋ฐํ ๊ฐ
value๊ฐ Array ์ด๋ฉด true, ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค. value๊ฐ TypedArray ์ธ์คํด์ค๋ผ๋ฉด ํญ์ false๊ฐ ๋ฐํ๋ฉ๋๋ค.
์ค๋ช
Array.isArray()๋ ์ ๋ฌ๋ ๊ฐ์ด Array์ธ์ง ํ์ธํฉ๋๋ค. ๊ฐ์ ํ๋กํ ํ์
์ฒด์ธ์ ํ์ธํ์ง ์์ผ๋ฉฐ, ๊ฐ์ด ์ฐ๊ฒฐ๋ Array ์์ฑ์์๋ ์์กดํ์ง ์์ต๋๋ค. ๋ฐฐ์ด ๋ฆฌํฐ๋ด ๊ตฌ๋ฌธ์ด๋ Array ์์ฑ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ ๋ชจ๋ ๊ฐ์ ๋ํด true๋ฅผ ๋ฐํํฉ๋๋ค. ๋ฐ๋ผ์ Array ์์ฑ์์ ์ ์์ด ๋ฌ๋ผ instanceof Array๊ฐ ์คํจํ ์ ์๋ ๊ต์ฐจ ์์ญ ๊ฐ์ฒด์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ด ์์ ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ "Determining with absolute accuracy whether or not a JavaScript object is an array"(JavaScript ๊ฐ์ฒด๊ฐ ๋ฐฐ์ด์ธ์ง ์ฌ๋ถ๋ฅผ ์ ๋์ ์ธ ์ ํ๋๋ก ํ์ธํ๊ธฐ) ๊ธ์ ์ฐธ์กฐํ์ธ์.
๋ํ Array.isArray()๋ ํ๋กํ ํ์
์ฒด์ธ์ Array.prototype์ด ์์ง๋ง ์ค์ ๋ฐฐ์ด์ด ์๋ ๊ฐ์ฒด๋ฅผ ๊ฑฐ๋ถํฉ๋๋ค. instanceof 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 ํ์ธ ๋ฐฉ๋ฒ
Array.isArray(arr); // true
// arr์ ํ๋กํ ํ์
์ Array.prototype์ ๋ค๋ฅธ ๊ฐ์ฒด์ธ xArray.prototype์
๋๋ค.
arr instanceof Array; // false
๋ช ์ธ์
| Specification |
|---|
| ECMAScriptยฎ 2026 Languageย Specification> # sec-array.isarray> |