Javascript 判断数据类型

最近工作中需要对获取的数据类型进行判断以进行相应的操作,网上学习了下,为了方便使用搞了个方法,如下:

/**
 * @name: $determineType
 * @cname:  判断类型
 * @desc: 判断Javascript数据类型
 * @param (*) datatype 传入要判断的数据
 * @panme: datatype: undefined、null、boolean、number、string、object...
 * @result: true or false
*/
export function $determineType() {
    return {
        isArray: (t) => Object.prototype.toString.call(t) === "[object Array]",
        isNumber: (t) => Object.prototype.toString.call(t) === "[object Number]",
        isString: (t) => Object.prototype.toString.call(t) === "[object String]",
        isBoolean: (t) => Object.prototype.toString.call(t) === "[object Boolean]",
        isObj: (t) => Object.prototype.toString.call(t) === "[object Object]",
        isNull: (t) => Object.prototype.toString.call(t) === "[object Null]",
        isUndefined: (t) => Object.prototype.toString.call(t) === "[object Undefined]",
        isFunction: (t) => Object.prototype.toString.call(t) === "[object Function]",
        isDate: (t) => Object.prototype.toString.call(t) === "[object Date]",
        isMoment: (t) => Object.prototype.toString.call(t) === "[object Object]" && t._isAMomentObject,
        isDocument: (t) => Object.prototype.toString.call(t) === "[object Document]" || Object.prototype.toString.call(t) == "[object HTMLDocument]",
        isRegExp: (t) => Object.prototype.toString.call(t) === "[object RegExp]",
        isSymbol: (t) => Object.prototype.toString.call(t) === "[object Symbol]",
    }
}

// 方法使用示例

// 引入方法
import { $determineType } from "~mixins/useUtils"

// 1.判断传入数据是否是数组类型
if ($determineType().isArray(proj.owner)) {
    for (let i in proj.owner) {
        owners.push(this.addProjectData[1].options[proj.owner[i]].label)
    }
    owners = owners.toString()
} else {
    owners = proj.owner
}

// 2.判断传入数据是否是数字,然后进行相应转换
transProjLevel(val) {
    return $determineType().isNumber(val) ? PROJECT_LEVEL.find(r => r.key === val)?.name : PROJECT_LEVEL.find(r => r.name === val)?.key
},


参考:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5455.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注