Array.prototype.isPrototypeOf
Array.prototype.isPrototypeOf(obj)
instanceof
- 定义:构造函数的原型(prototype)是否在某个实例对象的原型链中
const arr = [1, 2, 3];
var obj = {
name: 'lyl',
age: 18,
1: 'name'
}
console.log(arr instanceof Array);
console.log(obj instanceof Array);
Array.isArray()
const arr=[];
Array.isArray(arr);
constructor
const arr = [1, 2, 3];
const obj = {
name: 'lyl',
age: 18,
1: 'name'
}
console.log(arr.constructor === Array);
console.log(arr.constructor.name === 'Array');
console.log(obj.constructor === Object);
console.log(obj.constructor.name === 'Object');
toString()方法,数组原型和对象原型定义的toString()方法不同
- Object.prototype.toString.call(obj) === [object *]
Object.prototype.toString.call(obj).slice(8,-1) === 'Array';

通过原型链做判断
obj.__proto__ === Array.prototype;