怎么判断对象类型?
- 可以通过
Object.prototype.toString.call(xx)
。这样我们就可以获得类似[object Type]
的字符串。 -
instanceof
可以正确的判断对象的类型,因为内部机制是通过判断对象的原型链中是不是能找到类型的prototype
。
封装好的函数
judgeType (obj) {
let class2type = {};
'Array Date RegExp Object Error'.split(' ').forEach(e =>
class2type['[object ' + e + ']'] = e.toLowerCase()
)
if (obj == null) return String(obj)
return typeof obj === 'object' ? class2type[Object.prototype.toString.call(obj)] || 'object' : typeof obj
},
标签:判断,obj,Object,数据类型,object,JS,class2type,toString,prototype From: https://blog.51cto.com/u_13028258/5754007