JavaScript 判断是否为对象

1、toString() 第一选择

let obj = {}
Object.prototype.toString.call(obj) === '[Object Object]'

2、constructor

let obj = {}
obj.constructor === Object

3、instanceof

注意:使用instanceof对数组进行判断也是对象

let obj = {}
obj instanceof Object  //true
let 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