1
2
3
4
5
let obj = {};
let arr = [1,2,3];

console.log("对象的类型是", typeof obj);// 对象的类型是 object
console.log("数组的类型是", typeof arr);// 数组的类型是 object
1
2
3
4
5
6
7
8
let obj = {};
let arr = [1,2,3];

let objType = Object.prototype.toString.call(obj);
let arrType = Object.prototype.toString.call(arr);

console.log("对象的类型是", objType);// 对象的类型是 [object Object]
console.log("数组的类型是", arrType);// 数组的类型是 [object Array]

通过原型链判断

1
2
let obj = [];
console.log(obj.__proto__ === Array.prototype)

通过Array.isArray()判断

ES6语法,如需运行在低版本浏览器上需要使用babel转换

1
2
let obj =[];
console.log(Array.isArray(obj));

通过 instanceof 判断

1
2
let obj = [];
console.log(obj instanceof Array)