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))

D一生
235 声望15 粉丝

一如前端深似海