前端面试过程中,面试官常常会问到怎么判断数组?判断数组的方法常见的有以下几种:
Object.prototype.toString.call([1,2,3,4]) === “[object Array]”
true
当然此方法也可以判断对象,字符串等任意变量的数据类型
let a = [1,2,3]
a.__proto__ === Array.prototype
true
let a = [1,2,3]
Array.isArray(a)
true
// instanceof 运算符用于验证构造函数的 prototype 属性是否出现在对象的原型链中的任意位置
let a = [1,2,3]
a instanceof Array
// 实例的构造函数属性constructor指向构造函数,通过constructor属性可以判断是否为一个数组
let a = [1,2,3]
a.constructor === Array
true
// isPrototypeOf用于判断 一个对象是否是另一个对象的原型
// 只要调用者在传入对象的原型链上都会返回 true
let a = [1,2,3]
Array.prototype.isPrototypeOf(a)
true
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。