类型检查方法
这些是类型检查的实用方法。
isArrayLike(value)
检查值是否为类数组对象
使用示例
import { isArrayLike } from 'xfunc'
isArrayLike([1, 2, 3])
// => true
isArrayLike('hello')
// => true
isArrayLike({ length: 2, 0: 'a', 1: 'b' })
// => trueArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是类数组对象返回 true,否则返回 false
isBoolean(value)
检查值是否为布尔值
使用示例
import { isBoolean } from 'xfunc'
isBoolean(true)
// => true
isBoolean(false)
// => true
isBoolean(1)
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是布尔值返回 true,否则返回 false
isDate(value)
检查值是否为 Date 对象
使用示例
import { isDate } from 'xfunc'
isDate(new Date())
// => true
isDate('2023-01-01')
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是 Date 对象返回 true,否则返回 false
isEmpty(value)
检查值是否为空
使用示例
import { isEmpty } from 'xfunc'
isEmpty([])
// => true
isEmpty('')
// => true
isEmpty({})
// => true
isEmpty(null)
// => true
isEmpty([1, 2, 3])
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值为空返回 true,否则返回 false
isFunction(value)
检查值是否为函数
使用示例
import { isFunction } from 'xfunc'
isFunction(() => {})
// => true
isFunction(function() {})
// => true
isFunction('hello')
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是函数返回 true,否则返回 false
isError(value)
检查值是否为错误对象
使用示例
import { isError } from 'xfunc'
isError(new Error('test'))
// => true
isError({ message: 'error', name: 'Error' })
// => true
isError('error message')
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是错误对象返回 true,否则返回 false
isLength(value)
检查值是否为有效的类数组长度
使用示例
import { isLength } from 'xfunc'
isLength(3)
// => true
isLength(Number.MAX_SAFE_INTEGER)
// => true
isLength(-1)
// => false
isLength(3.2)
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是有效长度返回 true,否则返回 false
isNil(value)
检查值是否为 null 或 undefined
使用示例
import { isNil } from 'xfunc'
isNil(null)
// => true
isNil(undefined)
// => true
isNil(0)
// => false
isNil('')
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是 null 或 undefined 返回 true,否则返回 false
isNumber(value)
检查值是否为数字
使用示例
import { isNumber } from 'xfunc'
isNumber(42)
// => true
isNumber(3.14)
// => true
isNumber('42')
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是数字返回 true,否则返回 false
isObject(value)
检查值是否为对象类型
使用示例
import { isObject } from 'xfunc'
isObject({})
// => true
isObject([])
// => true
isObject(() => {})
// => true
isObject(null)
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是对象类型返回 true,否则返回 false
isObjectLike(value)
检查值是否为类对象
使用示例
import { isObjectLike } from 'xfunc'
isObjectLike({})
// => true
isObjectLike([])
// => true
isObjectLike(() => {})
// => false
isObjectLike(null)
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是类对象返回 true,否则返回 false
isPlainObject(value)
检查值是否为普通对象
使用示例
import { isPlainObject } from 'xfunc'
isPlainObject({})
// => true
isPlainObject(Object.create(null))
// => true
isPlainObject([])
// => false
isPlainObject(new Date())
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是普通对象返回 true,否则返回 false
isPrimitive(value)
检查值是否为原始类型
使用示例
import { isPrimitive } from 'xfunc'
isPrimitive('hello')
// => true
isPrimitive(42)
// => true
isPrimitive(null)
// => true
isPrimitive({})
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是原始类型返回 true,否则返回 false
isPromise(value)
检查值是否为 Promise 对象
使用示例
import { isPromise } from 'xfunc'
isPromise(Promise.resolve())
// => true
isPromise({ then: () => {} })
// => true
isPromise({})
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是 Promise 对象返回 true,否则返回 false
isRegExp(value)
检查值是否为正则表达式
使用示例
import { isRegExp } from 'xfunc'
isRegExp(/abc/)
// => true
isRegExp(new RegExp('abc'))
// => true
isRegExp('abc')
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是正则表达式返回 true,否则返回 false
isString(value)
检查值是否为字符串
使用示例
import { isString } from 'xfunc'
isString('hello')
// => true
isString('')
// => true
isString(42)
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是字符串返回 true,否则返回 false
isIterable(value)
检查值是否为可迭代对象
使用示例
import { isIterable } from 'xfunc'
isIterable([1, 2, 3])
// => true
isIterable('hello')
// => true
isIterable(new Set())
// => true
isIterable({})
// => falseArguments
value(unknown): 要检查的值
Returns
(boolean): 如果值是可迭代对象返回 true,否则返回 false
isTypeString(value, type)
检查值的原始类型是否与指定的类型字符串匹配。
使用示例
import { isTypeString } from 'xfunc'
isTypeString('hello', 'String')
// => true
isTypeString(42, 'Number')
// => true
isTypeString(null, 'Null')
// => true
isTypeString('hello', 'Number')
// => false参数
value(unknown): 要检查的值type(string): 要匹配的类型字符串(如 'String', 'Number' 等)
返回值
(boolean): 如果值的原始类型与指定类型匹配返回 true,否则返回 false
toRawType(value)
获取值的原始类型字符串。
使用示例
import { toRawType } from 'xfunc'
toRawType('hello')
// => 'string'
toRawType(42)
// => 'number'
toRawType(null)
// => 'null'
toRawType(undefined)
// => 'undefined'
toRawType([])
// => 'array'参数
value(unknown): 要获取类型的值
返回值
(string): 返回类型字符串
makeMap(list)
创建一个映射函数,用于检查值是否在给定列表中。
使用示例
import { makeMap } from 'xfunc'
const isReservedWord = makeMap(['if', 'else', 'for', 'while'])
isReservedWord('if')
// => true
isReservedWord('hello')
// => false参数
list(Array): 要检查的值列表
返回值
(Function): 返回检查函数
isNumericKey(value)
检查值是否为数字键。
使用示例
import { isNumericKey } from 'xfunc'
isNumericKey('0')
// => true
isNumericKey('42')
// => true
isNumericKey('abc')
// => false
isNumericKey(0)
// => true参数
value(unknown): 要检查的值
返回值
(boolean): 如果值是数字键返回 true,否则返回 false
完整列表
所有可用的类型检查函数:
isArrayLikeisBooleanisDateisEmptyisErrorisFunctionisIterableisLengthisNilisNumberisObjectisObjectLikeisPlainObjectisPrimitiveisPromiseisRegExpisStringisTypeStringtoRawTypemakeMapisNumericKey
每个函数都返回一个布尔值,指示值是否匹配预期的类型。