JavaScript判断数组的六种方法详解
作者:木棉时间:2026-10-26 10:15:33浏览:494
本文总结了JavaScript中判断变量是否为数组的六种常用方法。包括使用instanceof运算符、内置的Array.isArray()函数、通过constructor属性、Object.prototype.toString.call()、isPrototypeOf()以及getPrototypeOf()。每种方法各有优劣,适用于不同场景,帮助开发者准确识别数组类型。
instanceof
该方法主要用于检测实例是否位于某个对象的原型链上,因此它无法完全准确地判断一个变量是否严格为数组类型。
let a = [1, 2, 3];
console.log(a instanceof Array); // true
console.log(a instanceof Object); // true
//从此我们可以看出a既是数组,也是对象
let userInfo = { userName: "zhangsan" };
console.log(userInfo instanceof Array); // false
console.log(userInfo instanceof Object); // true
//userInfo只是对象,而不是数组
Array.isArray()
Array.isArray([1,2]); // true
Array.isArray({name:'zs'}); // false
constructor构造函数
let a = [1,2];
a.__proto__.constructor === Array // true
a.__proto__.constructor === Object // false
a.constructor === Array // true
a.constructor === Object // falsetoString
Object.prototype.toString.call([1,2]) // '[object Array]'
Object.prototype.toString.call({name:'zs'}) // '[object Object]'isPrototypeOf
Array.prototype.isPrototypeOf([1,2]) // true
Array.prototype.isPrototypeOf({name:'zs'}) // false
getPrototypeOf
Object.getPrototypeOf([1,2]) === Array.prototype // true
Object.getPrototypeOf({name:'zs'}) === Array.prototype // false
至此,关于JavaScript判断数组类型的六种方法介绍完毕。如需了解更多相关内容,可查阅本站往期文章或继续浏览后续文章,感谢大家的支持!
作者最新文章
JS合并多个数组的三种方法:concat、spread与flat
2026-11-05 17:39:45
JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
