类型检查工具
js-cool 提供了类型检查工具,让代码更安全。
基础类型
getType
获取任意值的类型。
js
import { getType } from 'js-cool'
getType([1, 2, 3]) // 'array'
getType({}) // 'object'
getType(null) // 'null'
getType(undefined) // 'undefined'
getType(123) // 'number'
getType('hello') // 'string'
getType(true) // 'boolean'
getType(() => {}) // 'function'
getType(new Date()) // 'date'
getType(/test/) // 'regexp'isArray
检查是否为数组。
js
import { isArray } from 'js-cool'
isArray([1, 2, 3]) // true
isArray('hello') // false
isArray({ length: 3 }) // falseisObject
检查是否为对象。
js
import { isObject } from 'js-cool'
isObject({}) // true
isObject([]) // false
isObject(null) // falseisPlainObject
检查是否为纯对象。
js
import { isPlainObject } from 'js-cool'
isPlainObject({}) // true
isPlainObject(new Date()) // false
isPlainObject([]) // falseisDate
检查是否为 Date 对象。
js
import { isDate } from 'js-cool'
isDate(new Date()) // true
isDate('2024-01-01') // falseisRegExp
检查是否为正则表达式。
js
import { isRegExp } from 'js-cool'
isRegExp(/test/) // true
isRegExp(new RegExp('test')) // true
isRegExp('test') // falseisWindow
检查是否为 window 对象。
js
import { isWindow } from 'js-cool'
isWindow(window) // true
isWindow({}) // falseisIterable
检查是否可迭代。
js
import { isIterable } from 'js-cool'
isIterable([1, 2, 3]) // true
isIterable('hello') // true
isIterable({}) // false存在性检查
isExitsFunction
检查全局函数是否存在。
js
import { isExitsFunction } from 'js-cool'
isExitsFunction('JSON.parse') // true
isExitsFunction('nonExistent') // falseisExitsVariable
检查变量是否存在。
js
import { isExitsVariable } from 'js-cool'
isExitsVariable('window') // 浏览器中为 true
isExitsVariable('nonExistentVar') // false比较
isEqual
深度比较两个值。
js
import { isEqual } from 'js-cool'
// 对象
isEqual({ a: 1 }, { a: 1 }) // true
isEqual({ a: { b: 1 } }, { a: { b: 1 } }) // true
// 数组
isEqual([1, 2, 3], [1, 2, 3]) // true
isEqual([1, 2], [2, 1]) // false
// 特殊值
isEqual(NaN, NaN) // true
isEqual(0, -0) // false字符串检查
isDigitals
检查字符串是否只包含数字。
js
import { isDigitals } from 'js-cool'
isDigitals('12345') // true
isDigitals('123.45') // false
isDigitals('abc') // false正则模式
js-cool 提供了常用正则模式对象:
js
import { pattern } from 'js-cool'
pattern.email // 邮箱正则
pattern.phone // 手机号正则
pattern.url // URL 正则
pattern.number // 数字正则
pattern.chinese // 中文字符正则