当前位置: 首页 > news >正文

潮州住房和城乡建设局网站如何将自己做的网站

潮州住房和城乡建设局网站,如何将自己做的网站,投资公司取什么名字最好,虚拟主机阿里云TypeScript 中的类型检查实用函数 文章目录 TypeScript 中的类型检查实用函数一、概述二、代码实现 一、概述 在前端开发中,我们经常需要判断变量的类型以进行相应的操作或处理。TypeScript 提供了基础的类型检查,但有时我们需要更复杂或更灵活的类型检…

TypeScript 中的类型检查实用函数

文章目录

  • TypeScript 中的类型检查实用函数
  • 一、概述
  • 二、代码实现

一、概述

在前端开发中,我们经常需要判断变量的类型以进行相应的操作或处理。TypeScript 提供了基础的类型检查,但有时我们需要更复杂或更灵活的类型检查。这篇博客文章将介绍一组实用函数,用于各种常见的类型检查。

二、代码实现

// 禁用一些 ESLint 规则,主要是因为下面使用了 Object.prototype 的方法
// eslint-disable-next-line @typescript-eslint/unbound-method
const { toString } = Object.prototype// 判断一个值是否为指定类型
export function is(val: unknown, type: string) {return toString.call(val) === `[object ${type}]`
}// 判断一个值是否已定义
export function isDef<T = unknown>(val?: T): val is T {return typeof val !== 'undefined'
}// 判断一个值是否未定义
export function isUnDef<T = unknown>(val?: T): val is T {return !isDef(val)
}// 判断一个值是否是对象
export function isObject(val: any): val is Record<any, any> {return val !== null && is(val, 'Object')
}// 判断一个值是否为空
export function isEmpty<T = unknown>(val: T): val is T {if (isArray(val) || isString(val)) return val.length === 0if (val instanceof Map || val instanceof Set) return val.size === 0if (isObject(val)) return Object.keys(val).length === 0return false
}// 判断一个值是否是日期对象
export function isDate(val: unknown): val is Date {return is(val, 'Date')
}// 判断一个值是否是 null
export function isNull(val: unknown): val is null {return val === null
}// 判断一个值是否是 null 或 undefined
export function isNullOrUnDef(val: unknown): val is null | undefined {return isUnDef(val) || isNull(val)
}// 判断一个值是否是数字
export function isNumber(val: unknown): val is number {return is(val, 'Number')
}// 判断一个值是否是 Promise
export function isPromise<T = any>(val: unknown): val is Promise<T> {return is(val, 'Promise') && isObject(val) && isFunction(val.then) && isFunction(val.catch)
}// 判断一个值是否是字符串
export function isString(val: unknown): val is string {return is(val, 'String')
}// 判断一个值是否是函数
export function isFunction(val: unknown): val is Function {return typeof val === 'function'
}// 判断一个值是否是布尔值
export function isBoolean(val: unknown): val is boolean {return is(val, 'Boolean')
}// 判断一个值是否是正则表达式
export function isRegExp(val: unknown): val is RegExp {return is(val, 'RegExp')
}// 判断一个值是否是数组
export function isArray(val: any): val is Array<any> {return !!val && Array.isArray(val)
}// 判断一个值是否是 Window 对象
export function isWindow(val: any): val is Window {return typeof window !== 'undefined' && is(val, 'Window')
}// 判断一个值是否是 DOM 元素
export function isElement(val: unknown): val is Element {return isObject(val) && !!val.tagName
}// 判断一个值是否是 Map 对象
export function isMap(val: unknown): val is Map<any, any> {return is(val, 'Map')
}// 判断当前环境是否是服务器
export const isServer = typeof window === 'undefined'// 判断当前环境是否是客户端
export const isClient = !isServer// 判断一个字符串是否是有效的 URL
export function isUrl(path: string): boolean {const reg = /^((https|http|ftp|rtsp|mms):\/\/)(([0-9a-zA-Z_!~*'().&=+$%-]+: )?[0-9a-zA-Z_!~*'().&=+$%-]+@)?(([0-9]{1,3}.){3}[0-9]{1,3}|([0-9a-zA-Z_!~*'()-]+.)*([0-9a-zA-Z][0-9a-zA-Z-]{0,61})?[0-9a-zA-Z].[a-zA-Z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-zA-Z_!~*'().;?:@&=+$,%#-]+)+\/?)$/return reg.test(path)
}
http://www.yayakq.cn/news/926184/

相关文章:

  • 如何做网站优化的内容青岛做门户网站的
  • 啤酒网站建设嘉兴市城市建设门户网站
  • 做轴承生意的网站发卡网站建设方案
  • 网站开发费是无形资产吗react做网站
  • 快递网站建设代码贵阳制作
  • 佛山市seo网站设计哪家好优的网站建设明细报价表
  • 大兴区网站建设公司大连微网站制作
  • 淘宝做网站推广怎么把电脑当服务器做网站
  • 武夷山住房和城乡建设局网站wordpress 域名映射
  • 做网站第一步做什么合肥互联网公司
  • 网站域名不想实名认证网页设计软件app
  • 如何修改网站备案北京东方华美建设集团有限公司网站
  • 自助广告位网站源码电力网站怎么做
  • 大学网站建设包括哪些课程做外贸怎么上国外网站
  • 商务网站建设实践实训心得网站如何做访客统计
  • 公司网站建设目标wordpress xml生成
  • 怎么网站代备案企业网站建设计划表
  • 成都专业网站建设价格低建设网站的叫什么职位
  • 太原网站seo顾问wordpress首页手机版
  • 网站建设佰首选金手指二六鑫鼎信长春网站建设
  • 黑龙江建设人员证件查询网站wordpress怎么改页面底部
  • 网站诊断seo当前数据是指申请网站建设的报告
  • 做医院的系统网站怎么做ftp网站上传之后怎么办
  • 天津做企业网站公司wordpress 不检查更新
  • 企业网站建设要求标准说明秀米网站怎么做推文
  • 深圳网络营销网站设计装饰公司网站制作
  • 建设公寓租房信息网站pc网站建设方案有哪些
  • 手机网站单页军事最新消息新闻
  • 机械模板网站网站开发要学的课程
  • 农产品的网站建设方案书范文临淄哪里做网站