一、typeof obj === 'object'判断obj是否是object类型 存在一定的弊端。如下:


let obj = {},
let arr = []

console.log(typeof obj === 'object')   // true

console.log(typeof arr ===  'object')   // true


二、从上可知typeof并不能准确的判断数据类型, 可以通过Object.prototype.toString.call(obj) === '[object Object]' 来判断是不是Object类型的。


let obj = {}
let arr = []

console.log(Object.prototype.toString.call(obj))  // [object  Object]
console.log(Object.prototype.toString.call(arr))   // [object  Array]
03-29 23:47