npm 包 what-type-is 使用教程

阅读时长 5 分钟读完

在前端开发中,经常需要判断一个变量的类型,以此来进行不同的操作。JS 中自带的 typeof 关键字只能判断大部分类型,但对于一些特殊的类型(如 null)则无能为力。这时候,我们可以借助一个 npm 包 —— what-type-is 来解决这个问题。

what-type-is 是什么

what-type-is 是一个轻量级的 JavaScript 包,提供了一系列的工具函数,用于判断 JavaScript 的变量类型。它支持的判断类型相比于常见的 typeof 更全面,能更准确地判断一个变量的类型。你可以在 GitHub 上找到它的源码

如何使用

首先,我们需要在项目中安装 what-type-is

安装好后,我们就可以在代码里引用它了。例如:

whatTypeIs 这个函数的使用非常简单,只需要传入一个变量,它就会返回这个变量的类型。它支持的类型有:

  • undefined: 未定义
  • null: 空值
  • boolean: 布尔值
  • number: 数字
  • string: 字符串
  • symbol: ES6 中新增的 Symbol 类型
  • date: 日期类型
  • array: 数组类型
  • regexp: 正则表达式类型
  • function: 函数类型
  • generatorfunction: 生成器函数类型
  • asyncfunction: 异步函数类型
  • promise: Promise 对象类型
  • map: ES6 中新增的 Map 类型
  • set: ES6 中新增的 Set 类型
  • weakmap: ES6 中新增的 WeakMap 类型
  • weakset: ES6 中新增的 WeakSet 类型
  • error: 错误类型
  • arguments: 函数参数类型

其中,除了 arrayarguments 这两个类型之外,其他类型的返回值都是小写字母字符串。

判断数组类型

由于 JavaScript 数组是通过对象来实现的,因此 typeof 无法准确地判断一个变量是否为数组。但是,我们可以使用 Array.isArray() 来判断一个变量是否为数组。what-type-is 也提供了 array 类型来判断是否为数组,只需要传入一个数组即可。

判断函数类型

对于函数类型,what-type-is 可以判断四种类型:

  • function: 普通函数
  • generatorfunction: 生成器函数
  • asyncfunction: 异步函数
  • promise: Promise 对象

具体使用方法可以参照下面的示例代码:

-- -------------------- ---- -------
----- ---------- - ------------------------

-------- ----- --
----- -------- ----- --
--------- ----- --
----- --- - --- ----------------- -- -
  --------------- ---------
---

----------------------------- -- -----------
----------------------------- -- --------------------
----------------------------- -- ----------------
----------------------------- -- ----------

判断对象类型

当我们需要判断一个变量是否为对象时,通常会使用 typeof 关键字。但是,对于一些特殊的对象类型,如 nulltypeof 会返回 object,并不能准确地判断对象类型。 而 what-type-is 则提供了判断对象类型的方法 object,只需要传入一个对象即可。

总结

what-type-is 提供了一种更准确的判断变量类型的方式,它是一个轻量级的 npm 包,在前端开发中具有一定的实用价值。本文介绍了 what-type-is 的使用方法,并提供了详细的示例代码,希望可以帮助到大家。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005664181e8991b448e2517

纠错
反馈