js 自定义插件实现类型判断(简洁好用)

简介: js 自定义插件实现类型判断(简洁好用)
const TypeHelper = {
  isString(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'String' // 是否字符串
  },
  isNumber(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Number' // 是否数字
  },
  isBoolean(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Boolean' // 是否boolean
  },
  isFunction(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Function' // 是否函数
  },
  isNull(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Null' // 是否为null
  },
  isUndefined(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Undefined' // 是否undefined
  },
  isObj(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Object' // 是否对象
  },
  isArray(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Array' // 是否数组
  },
  isDate(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Date' // 是否时间
  },
  isRegExp(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'RegExp' // 是否正则
  },
  isError(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Error' // 是否错误对象
  },
  isSymbol(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Symbol' // 是否Symbol函数
  },
  isPromise(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Promise' // 是否Promise对象
  },
  isSet(o) {
    return Object.prototype.toString.call(o).slice(8, -1) === 'Set' // 是否Set对象
  },
  isFalse(o) {
    if (!o || o === 'null' || o === 'undefined' || o === 'false' || o === 'NaN') return true
    return false
  },
  isTrue(o) {
    return !this.isFalse(o)
  }
}
export default TypeHelper
目录
相关文章
|
10天前
|
JavaScript 前端开发 开发者
如何在 JavaScript 中处理不同类型的错误?
【10月更文挑战第29天】通过对不同类型错误的准确识别和恰当处理,可以提高JavaScript程序的可靠性和稳定性,减少错误对程序运行的影响。
|
1月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
45 0
|
3月前
|
存储 前端开发 JavaScript
javascript 异常问题之为自定义异常提供丰富的上下文信息如何实现
javascript 异常问题之为自定义异常提供丰富的上下文信息如何实现
|
9天前
|
JavaScript 前端开发 Java
除了 JavaScript,还有哪些编程语言支持 Set 类型
【10月更文挑战第30天】这些编程语言中的 `Set` 类型虽然在语法和具体实现细节上有所不同,但都提供了类似的集合操作功能,方便开发者在不同的编程场景中处理集合相关的数据和逻辑。
|
10天前
|
存储 JavaScript 前端开发
js的基础类型和引用类型
【10月更文挑战第29天】理解 JavaScript 中的基础类型和引用类型的区别对于正确地编写代码和理解程序的行为非常重要。在实际开发中,需要根据具体的需求合理地选择和使用不同的数据类型,以避免出现一些意想不到的错误和问题。同时,在处理引用类型数据时,要特别注意对象的引用关系,避免因共享引用而导致的数据不一致等问题。
|
17天前
|
JavaScript 前端开发
javascript开发的简单的弹幕插件
这是一个原生javascript开发的简单的弹幕插件,具有美观、易用,占用的资源较低等特点,可以给弹幕设置内容、颜色、头像、链接地址等属性,鼠标悬停等,简单实用,欢迎下载!
35 5
|
1月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
42 4
|
17天前
|
JavaScript 定位技术
jQuery鹰眼视图小地图定位预览插件minimap.js
这是一个jQuery小地图定位预览视图,默认左侧是页面主要内容,minimap.js的好处就是在它的右侧形成一个快速定位通道,产生一个缩小版的页面,即预览效果,可以点击并快速定位到页面的某个位置。简单实用,欢迎下载!
28 0
|
28天前
|
存储 JSON JavaScript
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
Vue.js开发中基于localStorage与sessionStorage的本地存储利器:Vue-ls插件使用详解
45 0
|
1月前
|
JavaScript 前端开发
JavaScript返回判断类型有哪些?
JavaScript返回判断类型有哪些?
27 0