1、toString() 第一选择(注意里面的第一个object是小写 ’[object Object]‘ )
'[object Object]' 之前看别的文章,楼主那个憨批写成大写了,再怎么判断都不对。
let obj = {}
Object.prototype.toString.call(obj) === '[Object Object]'
2. constructor
let obj = {}
obj.constructor === Object
3.instanceof
let obj = {}
obj instanceof Object//truelet arr = []
arr instanceof Object//true
4. typeof
let obj = {}
typeof obj === Object
// 根据typeof判断对象也不太准确
表达式 返回值
typeof undefined 'undefined'
typeof null 'object'
typeof true 'boolean'
typeof 123 'number'
typeof "abc" 'string'
typeof function() {} 'function'
typeof {} 'object'
typeof [] 'object'
原文地址:https://blog.csdn.net/zhangjing0320/article/details/81230170