var testArr = [
1,
"1",
{},
[1,2],
null,
undefined
];
function getType(obj){
let type = typeof obj;
if (type !== "object") { // 先进行typeof判断,如果是基础数据类型,直接返回
return type;
}
// 对于typeof返回结果是object的,再进行如下的判断,正则返回结果
return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1');
};
testArr.map(i=>{
console.log(getType(i))
});
image.png
Object.prototype.toString.call(),可以很好地判断引用类型,
甚至可以把 document 和 window 都区分开来,
使用这个方法最后返回统一字符串格式为 "[object Xxx]"
网友评论