js检测数据类型有那些方法

2022-01-12  本文已影响0人  Astep

1. typeof

2. instanceof 检测当前实例是否属于这个类的

3. constructor

4. Object.prototype.toString.call(value)

下面封闭一个判断数据类型方法:

function detectionType(data) {
    const class2type = {
        '[object Null]': "null",
        '[object Date]': "date",
        '[object Error]': "error",
        '[object Array]': "array",
        '[object Number]': "number",
        '[object Object]': "object",
        '[object RegExp]': "regexp",
        '[object String]': "string",
        '[object Symbol]': "symbol",
        '[object Boolean]': "boolean",
        '[object Function]': "function",
        '[object Undefined]': "undefined",
    };
    // 基本数据类型都采用typeof检测
    if (typeof data === "object" || typeof data === "function") {
        return class2type[Object.prototype.toString.call(data)] || "object";
    } else {
        return typeof data;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读