javascript检测数据类型的方法归纳
检测数据类型在我们日常开发中经常用到,我们知道常用的有typeof instanceof 但是两种方法都有优点和不足,那有没有通用的呢,这就是本文章所要解决的;
检测数据类型之前,我们需要先知道一些基础的js知识,那就是js有哪些数据类型(本想好好写呢,但是懒惰了,先更到这里,勤快的时候再更新吧)
- typeof 只能判断基本数据类型
- instanceof 判断不出来优缺点
- Object.prototype.toString.call(obj) 完美
封装一下呢,直接上一个方法吧
function getParamType(obj){
let type = typeof(obj);
if(type !== "object"){
return type;
}
return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/,'$1');
}
// console.log(getType([]));
// console.log(getType(null))
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。