参考答案

instanceof

const arr= []; arr instanceof Array; // true

Array.isArray

const arr = [] Array.isArray(arr) // true const obj = {} Array.isArray(obj) // false

Object.prototype.isPrototypeOf

使用Object的原型方法isPrototypeOf,判断两个对象的原型是否一样, isPrototypeOf() 方法用于测试一个对象是否存在于另一个对象的原型链上。

const arr = []; Object.prototype.isPrototypeOf(arr, Array.prototype); // true

Object.getPrototypeOf

Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。

const arr = [] Object.getPrototypeOf(arr) === Array.prototype // true

Object.prototype.toString

借用Object原型的call或者apply方法,调用toString()是否为[object Array]

const arr = [] Object.prototype.toString.call(arr) === '[object Array]' // true const obj = {} Object.prototype.toString.call(obj) // "[object Object]"