1.Array.isArray(es6 新增)
console.log(Array.isArray([])); // true
console.log(Array.isArray({})); // false
2.原型__proto__
console.log([].__proto__ === Array.prototype); // true
console.log([].__proto__ === Object.prototype); // false
3.构造器 constructor
console.log([].constructor === Array); // true
console.log([].constructor === Object); // false
4.Object.prototype.toString
console.log(Object.prototype.toString.call([]) === "[object Array]"); // true
console.log(Object.prototype.toString.call({}) === "[object Array]" ); // false
5.instanceof
instanceof 运算符用来判断一个构造函数的 prototype 属性所指向的对象是否存在另外一个要检测对象的原型链上
因为 Array.__proto__.__proto__ === Object.prototype;
不理解的温习一下 JS 原型链
console.log([] instanceof Array); // true
console.log([] instanceof Object); // true
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。