Appearance
常用的类型判断
- 参考vue3的源码工具函数
isDef
判断不是undefined
Parameters:
val: -内容
Examples:
ts
let result = isDef('test')isUnDef
判断是undefined
Parameters:
val: -内容
Examples:
ts
let result = isUnDef('test')isObject
判断是Object,包含数组.Map等
Parameters:
val: -内容
Examples:
ts
let result = isObject({ name: 1 })isPlainObject
判断是原始Object,不包含数组
Parameters:
val: -内容
Examples:
ts
let result = isPlainObject({ name: 1 })isEmptyObject
检测是否是空对象(含数组)
Parameters:
obj: - 检测当前类型
ts
let result = isEmptyObject({ name: 1 })isEmpty
判断是空,包括空数组,空对象,空Map
Parameters:
obj: - 检测当前类型
ts
let result = isEmpty({ name: 1 })isEmptyValue
检测是否空值(空string|undefined|null)
Parameters:
name: - 检测当前类型
ts
let result = isEmptyValue(name)isDate
判断是日期对象
Parameters:
val: -内容
Examples:
ts
let result = isDate(new Date())isNullOrUnDef
判断是null或undefined
Parameters:
val: -内容
Examples:
ts
let result = isNullOrUnDef('')isNumber
是否是number
Parameters:
val: -内容
Examples:
ts
let result = isNumber(1)isInteger
判断是否为整数(支持负数)
支持 number 类型和 string 类型的整数判断,严格验证格式。
Parameters:
val: 要检测的值(字符串或数字)
Returns:
boolean: 如果是整数返回 true,否则返回 false
Examples:
ts
isInteger(123) // true
isInteger('456') // true
isInteger('-789') // true
isInteger(0) // true
isInteger('0') // true
// 不通过的情况
isInteger(3.14) // false - 浮点数
isInteger('3.14') // false - 浮点数字符串
isInteger('1.') // false - 不规范格式
isInteger('.5') // false - 不规范格式
isInteger('007') // false - 前导零
isInteger('+123') // false - 带加号
isInteger('abc') // false - 非数字
isInteger(NaN) // false
isInteger(Infinity) // falseisNumeric
判断是否为数值(整数或小数,支持负数)
支持 number 类型和 string 类型的数值判断,可以是整数或小数,严格验证格式。
Parameters:
val: 要检测的值(字符串或数字)
Returns:
boolean: 如果是有效数值返回 true,否则返回 false
Examples:
ts
// 整数
isNumeric(123) // true
isNumeric('456') // true
isNumeric('-789') // true
isNumeric(0) // true
isNumeric('0') // true
// 小数
isNumeric(3.14) // true
isNumeric('3.14') // true
isNumeric('-0.5') // true
isNumeric(1.0) // true
// 不通过的情况
isNumeric('1.') // false - 不规范格式
isNumeric('.5') // false - 缺少整数部分
isNumeric('1.1.1') // false - 多个小数点
isNumeric('007') // false - 前导零
isNumeric('+123') // false - 带加号
isNumeric('abc') // false - 非数字
isNumeric('') // false - 空字符串
isNumeric(NaN) // false
isNumeric(Infinity) // falseisMultipleOf
判断是否为某个数的倍数
Parameters:
val: 要检测的值(支持数字或数字字符串)factor: 倍数因子(数字)
Returns:
boolean: 如果 val 是 factor 的倍数返回 true,否则返回 false
Examples:
ts
// 整数倍数
isMultipleOf(10, 5) // true
isMultipleOf(15, 3) // true
isMultipleOf(10, 3) // false
// 字符串类型
isMultipleOf('20', 4) // true
isMultipleOf('100.5', 0.5) // true
// 零值
isMultipleOf(0, 5) // true (0是任何非零数的倍数)
isMultipleOf(10, 0) // false (因子不能为0)
// 浮点数
isMultipleOf(1.5, 0.5) // true
isMultipleOf(3.6, 1.2) // true
isMultipleOf(1.5, 0.6) // false
// 负数
isMultipleOf(-10, 5) // true
isMultipleOf(10, -5) // true
isMultipleOf(-15, -3) // true
// 精度问题自动处理
isMultipleOf(0.3, 0.1) // true
isMultipleOf(0.6, 0.2) // true
// 无效输入
isMultipleOf('abc', 5) // false
isMultipleOf(NaN, 5) // false
isMultipleOf(Infinity, 5) // falseisPromise
是否是Promise
Parameters:
val: -内容
Examples:
ts
let result = isPromise('test')isFunction
是否是函数
Parameters:
val: -内容
Examples:
ts
let result = isFunction('test')isRegExp
是否是正则
Parameters:
val: -内容
Examples:
ts
let result = isRegExp(window)isArray
是否是数组
Parameters:
val: -内容
Examples:
ts
let result = isArray(window)isWindow
是否是Window
Parameters:
val: -内容
Examples:
ts
let result = isWindow(window)isMap
是否是Map
Parameters:
val: -内容
Examples:
ts
let result = isMap(window)isUrl
是否是isUrl
Parameters:
val: -内容
Examples:
ts
let result = isUrl('http://www.baidu.com')isIframe
是否是iframe
Parameters:
val: -内容
Examples:
ts
let result = isIframe()