目录
3、通过 Object.prototype.toString.call() 方法判断
5、通过Array原型链上的 isPrototypeOf() 方法判断
6、通过 Object.getPrototypeOf() 方法判断
因为数组是属于object类型的,也就是引用类型,所以不能使用 typeof 来判断其具体类型。
typeof的返回值是一个字符串, 用来说明变量的数据类型。typeof 一般只能返回如下几个结果: number, boolean, string, function, object, undefined。对于 Array, Null 等特殊对象使用 typeof 一律返回 object, 这正是 typeof 的局限性。| 参考:typeof和instanceof的区别是什么-优快云博客
下面这些方法是判断数组的几种方法:
1、通过 instanceof 运算符判断
instanceof运算符用于检验构造函数的prototype属性是否出现在某个对象的原型链中的任何位置,返回一个布尔值。| 参考:typeof和instanceof的区别是什么 - 优快云博客
let arr1 = [1,2,3];
console.log(arr1 instanceof Array); //true
let arr2 = {};
arr2 instanceof Array; //false
//instanceof 运算符检测Array.prototype属性是否存在于变量arr1的原型链上
//显然arr1是一个数组,拥有Array.prototype属性,所以为true
<