当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

is What

JS 类型检查工具
授权协议 MIT
开发语言 TypeScript
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 夔光霁
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

is What 是一个非常简单且小巧的 JS 类型检查功能,它同样完全支持 TypeScript

npm i is-what

用法

is-what 很容易使用,并且大多数功能都可以像你所期望的那样工作。

// import functions you want to use like so:
import { isString, isDate, isPlainObject } from 'is-what'

简单的类型检查函数

// basics
isBoolean(true) // true
isBoolean(false) // true
isUndefined(undefined) // true
isNull(null) // true

// strings
isString('') // true
isEmptyString('') // true
isFullString('') // false

// numbers
isNumber(0) // true
isNumber('0') // false
isNumber(NaN) // false *
isPositiveNumber(1) // true
isNegativeNumber(-1) // true
// * see below for special NaN use cases!

// arrays
isArray([]) // true
isEmptyArray([]) // true
isFullArray([1]) // true

// objects
isPlainObject({}) // true *
isEmptyObject({}) // true
isFullObject({ a: 1 }) // true
// * see below for special object (& class instance) use cases!

// functions
isFunction(function () {}) // true
isFunction(() => {}) // true

// dates
isDate(new Date()) // true
isDate(new Date('invalid date')) // false

// maps & sets
isMap(new Map()) // true
isSet(new Set()) // true
isWeakMap(new WeakMap()) // true
isWeakSet(new WeakSet()) // true

// others
isRegExp(/\\\\\\\\\\\\\\\\s/gi) // true
isSymbol(Symbol()) // true
isBlob(new Blob()) // true
isFile(new File([''], '', { type: 'text/html' })) // true
isError(new Error('')) // true
isPromise(new Promise((resolve) => {})) // true

// primitives
isPrimitive('') // true
// true for any of: boolean, null, undefined, number, string, symbol

NaN

isNaN 是一个内置的 JS 函数:

// 1)
typeof NaN === 'number' // true
// �� ("not a number" is a "number"...)

// 2)
isNaN('1') // false
// �� the string '1' is not-"not a number"... so it's a number??

// 3)
isNaN('one') // true
// �� 'one' is NaN but `NaN === 'one'` is false...

使用 is-what 我们对待 NaN 的方式更有意义一点:

import { isNumber, isNaNValue } from 'is-what'

// 1)
isNumber(NaN) // false!
// let's not treat NaN as a number

// 2)
isNaNValue('1') // false
// if it's not NaN, it's not NaN!!

// 3)
isNaNValue('one') // false
// if it's not NaN, it's not NaN!!

isNaNValue(NaN) // true

获取和检查特定类型

可以使用getType和检查特定类型isType

import { getType, isType } from 'is-what'

getType('') // returns 'String'
// pass a Type as second param:
isType('', String) // returns true

 

  • 名称         whatis - 展示手册页面描述 用法         whatis [-dlv?V] [-r|-w] [-s list] [-m system[,...]] [-M path] [-L locale] [-C file] name ... 描述         每个手册页面有一个简短的描述。whatis 搜索手册页名称,展示手册页描述。name 可          以包

  • whatis命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上,相当于 man -f 使用语法: whatis 命令/系统调用/库函数/特殊文件名 举例: [root@localhost ~]# whatis ls ls (1) - list directory contents ls (1p) - list d

  • 1: A is to B as C is to D. A is to B what C is to D. Air is to us as water is to fish。 空气对于我们,就像水对于鱼。此处,what可换为as. 2:       the cat is out of bag.泄露秘密。     ex:so the cat is out of the bag, I want to t

  • What proves universally acknowledged is that what is worth doing is worth doing well has triggered widespread public attention.From my personal perspective,only when private individuals adhere to the

  • 今天下午在VMWare Station 14.0上面安装了 CentOS Linux 7 (Core) ; Kernel 3.10.0-693.e17.x86_64,然后开始参考鸟哥的 Linux 私房菜开始进行学习。在进行到使用 man -f 和 whatis 命令进行查询时,发现不能使用,命令行提示 nothing appropriate 。之后使用 man whatis , man man

  • Culture shock is the difficulty people have adjusting to a new culture that differs markedly from their own. The Four Phases 1. Honeymoon 2. Negotiation 3. Adjustment 4. Mastery(Biculturalism) 文化冲击,又叫

  • No one can tell.Psychologists have yet to pin down the definition.In fact,happiness does have pretty important role in our lives,and it can have a huge impact on the way we live our lives.Happiness is

  • 00. 目录 01. 命令概述 whatis命令在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出。 查找的内容必须完全匹配关键字的才会输出。whatis数据库文件是用/usr/sbin/makewhatis 命令建立的。 02. 命令格式 whatis [OPTION…] 关键词… 03. 常用选项 Usage: whatis [OPTION...] 关键词...

  • What is selection sort?How does it work? Selection sort is an intuitive sort algorithm. The idea is that At first time,we select the smallest data element(or the biggest one),then put it in the starti

  • Beauty is being okay with yourself,beauty is accepting who you are and being happy.Beauty is in the eye of the beholder.There are lots of standards about beauty from all over the world. In China’s Tan

  • 本题要求编写程序,输出一个短句“What is a computer?”。 输入格式: 本题目没有输入。 输出格式: 在一行中输出短句“What is a computer?”。 代码如下 #include<stdio.h> int main() { printf("What is a computer?"); }

 相关资料
  • Blockly完全支持JS和Python之类的动态类型的模型,并且还包括对C / C ++之类的静态类型的模型的支持,但需要做一些额外的工作。 在这两种情况下,Blockly都可以防止构造一些非理性的组合。以下三个模块之间没有业务联系: Blockly的每种连接类型(值输入/输出,下一个/上一个语句)都可以用类型信息标记,以便显然无效的连接将拒绝连接。这为用户提供了即时反馈,并避免了许多简单的错误

  • 本文向大家介绍TypeScript 运行时类型检查补充工具,包括了TypeScript 运行时类型检查补充工具的使用技巧和注意事项,需要的朋友参考一下 TypeScript是静态类型系统,在编译时做类型检查。一般而言,如果项目所用到的所有库、模块都是基于ts的,那么静态类型已经可以避免大部分编程层面的类型问题。不过,在一些场景下来,单纯静态类型是无法解决问题的,部分数据是动态传入到系统中的,主要包

  • 本文向大家介绍JavaScript静态类型检查工具FLOW简介,包括了JavaScript静态类型检查工具FLOW简介的使用技巧和注意事项,需要的朋友参考一下 Flow是Facebook出品的,针对JavaScript的静态类型检查工具。其代码托管在github之上,并遵守BSD开源协议。 关于Flow 它可以帮助我们捕获JavaScript开发中的常见错误,而不需要额外地修改你原有的代码,比如静

  • 本文向大家介绍ActionScript 3 检查类型,包括了ActionScript 3 检查类型的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用is运算符来验证值是否为某种类型: 此外,还有一个instanceof操作者(不建议使用),其工作几乎相同is,除了它返回false对实现的接口时检查和INT / UINT类型。 该as运营商还可以通过使用就像is操作。如果您使用诸如Flash

  • 我读过https://projectlombok.org/features/equalsandHashCode几次,从中得出了不同的结论。 下面是我正在做的一个例子来帮助澄清我的问题: GeneratorTypeB看起来与上面的代码段完全相同。现在说我有以下几点: 我用来组合集合的代码在这个设置中工作得很好,但是我要处理的数据很多,所以遇到equals方法中使用的重复的唯一标识符的几率很低,但是它

  • 我有一个非常简单的界面类型如下 在我的单元测试中,我想检查从API调用返回的对象是否属于这种类型,但我不知道该怎么做。我的API调用如下: 但是,行

  • 本文向大家介绍Python静态类型检查新工具之pyright 使用指南,包括了Python静态类型检查新工具之pyright 使用指南的使用技巧和注意事项,需要的朋友参考一下 Python是一门动态类型的语言,民间流传一种说法叫”动态一时爽,重构火葬场”,听起来够吓人的,好在这门语言在不断地改进,包括对 PEP484 引入的类型提示(Type Hint),就是在某种程度上,让Python能够像静态