js类型判断

这段代码定义了一系列用于检查JavaScript对象类型的函数,如isArray、isObject、isString等,通过对Object.prototype.toString.call()的结果进行处理来判断变量的类型。还包括对File、Blob等特殊类型的检查以及检测空对象的功能。

const getType = (obj) => Object.prototype.toString.call(obj).slice(8, -1);

export function isArray(obj: any): obj is any[] {
  return getType(obj) === 'Array';
}

export function isObject(obj: any): obj is { [key: string]: any } {
  return getType(obj) === 'Object';
}

export function isString(obj: any): obj is string {
  return getType(obj) === 'String';
}

export function isNumber(obj: any): obj is number {
  return getType(obj) === 'Number' && obj === obj;
}

export function isRegExp(obj: any) {
  return getType(obj) === 'RegExp';
}

export function isFile(obj: any): obj is File {
  return getType(obj) === 'File';
}

export function isBlob(obj: any): obj is Blob {
  return getType(obj) === 'Blob';
}

export function isUndefined(obj: any): obj is undefined {
  return obj === undefined;
}

export function isFunction(obj: any): obj is (...args: any[]) => any {
  return typeof obj === 'function';
}

export function isEmptyObject(obj: any): boolean {
  return isObject(obj) && Object.keys(obj).length === 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值