<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          is WhatJS 類型檢查工具

          聯(lián)合創(chuàng)作 · 2023-09-28 10:03

          is What 是一個非常簡單且小巧的 JS 類型檢查功能,它同樣完全支持 TypeScript

          npm i is-what
          

          用法

          is-what 很容易使用,并且大多數(shù)功能都可以像你所期望的那樣工作。

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

          簡單的類型檢查函數(shù)

          // 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 是一個內(nèi)置的 JS 函數(shù):

          // 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

           

          瀏覽 14
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  翔田千里精品一节毛片 | 中文字幕在线播放第一页 | 一本大道无码视频 | 在线亚洲中文在线观看 | 日本特黄久久 |