utils&js - 判断数据类型
utils&js - 判断数据类型
/** * 判断文件 * * 如果你需要类型判断,请不要再使用 Object.prototype.toString.call()方法 * 直接调用我们下方封装好的is函数即可 * 我想,以下函数,已经可以满足所有情况下的类型判断 */ export const toString = Object.prototype.toString; export const is = (val, type) => toString.call(val) === `[object ${type}]`; //判断非undefined export const isDef = (val) => typeof val !== 'undefined'; //判断是undefined export const isUnDef = (val) => !isDef(val); //判断是否是对象 export const isObject = (val) => val !== null && toString.call(val) === `[object Object]`; export const isEmpty = (val) => { if (isArray(val) || isString(val)) return val.length === 0; if (val instanceof Map || val instanceof Set) return val.size === 0; if (isObject(val)) return Object.keys(val).length === 0; return; } //判断是否是时间类型 export const isDate = (val) => is(val, "Date"); //判断是否是null类型 export const isNull = (val) => val === null; //判断不可访问类型 export const isNullAndUnDef = (val) => isUnDef(val) && isNull(val); //判断undefined和null其中一个 export const isNullOrUnDef = (val) => isUnDef(val) || isNull(val); //判断是否是数字类型 export const isNumber = (val) => is(val, "Number"); //判断是否是Promise类型 export const isPromise = (val) => { return ( is(val, "Promise") ) } //判断是否是字符类型 export const isString = (val) => is(val, "String"); //判断是否为函数 export const isFunction = (val) => typeof val === "function"; //判断是否为booean类型 export const isBoolean = (val) => is(val, "Boolean"); //判断是否是正则表达式 export const isRegExp = (val) => is(val, "RegExp"); //判断是否是数组 export const isArray = (val) => val && Array.isArray(val); //判断是否是window对象 export const isWindow = (val) => typeof window !== "undefined" && is(val, "Window");
Lee2
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步