JavaScript - 変数が配列であることを確認する3つの方法

変数が配列であるかどうかを確認する方法を紹介します。

1. Array.isArray() を使用して配列であることを確認する

Array.isArray() は、引数として渡されたオブジェクトが配列のときに true を返します。

let arr1 = [1, 2, 3];
let arr2 = new Array([1, 2, 3]);

console.log(Array.isArray(arr1));   // true
console.log(Array.isArray(arr2));   // true
console.log(Array.isArray('123'));  // false

2.コンストラクタを使用して配列であることを確認する

object.constructorがArrayの場合、変数が配列であると判断できます。

function isArray(obj){
  return !!obj && obj.constructor === Array;
}

let arr1 = [1, 2, 3];
let arr2 = new Array([1, 2, 3]);

console.log(isArray(arr1));   // true
console.log(isArray(arr2));   // true
console.log(isArray('123'));  // false

3. Object.prototype.toString() で配列であることを確認する

Object.prototype.toString.call()[object Array] のとき、変数が配列であると判別できます。

function isArray(obj){
  return Object.prototype.toString.call(obj) === '[object Array]';
}

let arr1 = [1, 2, 3];
let arr2 = new Array([1, 2, 3]);

console.log(isArray(arr1));   // true
console.log(isArray(arr2));   // true
console.log(isArray('123'));  // false
codechachaCopyright ©2019 codechacha