hd-types-check
Version:
hd-types-check 是一个校验实例类型的库,支持js的所有基本类型包括string、number、null、boolean、undefined,引用类型包括object、array、function、date。
83 lines (63 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
/**
* 2021/11/8
* handan
* 判断变量类型封装
*/
/**
*
* @param {*} instance 任意一个实例
* @returns 返回当前实例的类型,包括string、number、null、boolean、undefined、object、array、function、date
*/
var check = function check(instance) {
// 判断参数为空的情况
if (arguments.length === 0) {
console.warn("Error,Types函数至少接受一个参数!");
return false;
} // 参数类型为null
if (instance === null) {
return "null";
}
var typeString = Object.prototype.toString.call(instance); //返回类似 "[object Array]" 的结构
typeString = typeString.toLowerCase().replace(/(\[|\])/g, ""); //返回类似 "object array" 的结构
typeString = typeString.slice(7); //返回类似 "array" 的结构
return typeString;
};
var Types = function Types(instance) {
// 判断参数为空的情况
if (arguments.length === 0) {
console.warn("Error,Types函数至少接受一个参数!");
return false;
}
return check(instance);
};
Types.isObject = function (param) {
return check(param) === "object" ? true : false;
};
Types.isArray = function (param) {
return check(param) === "array" ? true : false;
};
Types.isString = function (param) {
return check(param) === "string" ? true : false;
};
Types.isNumber = function (param) {
return check(param) === "number" ? true : false;
};
Types.isDate = function (param) {
return check(param) === "date" ? true : false;
};
Types.isNull = function (param) {
return check(param) === "null" ? true : false;
};
Types.isFunction = function (param) {
return check(param) === "function" ? true : false;
};
Types.isBoolean = function (param) {
return check(param) === "boolean" ? true : false;
};
var _default = Types;
exports["default"] = _default;