# type

获取内容类型

import { type } from '@hui-pro/utils';
type(unknown);
import { type } from '@hui-pro/utils';

type([]); //return Array
type(true); //return Boolean
type(new Date()); //return Date
type(()=>{}); //return Function
type(Math); //return Math
type(1); //return Number
type({}); //return Object
type(undefined); //return Undefined
type(null); //return Null
type(/RegExp/); //return RegExp
type('unknown'); //return String
type(#div); //return HTMLDivElement
type(window); //return Window
type(new Buffer(1)); //return Buffer
type(new Error()); //return Error
type(arguments); //return Arguments

提示

  • is 或 has 开头函数均返回布尔值
  • 可使用 is + 首字母大写的指定类型进行精准判断,所有支持类型均已列出。
  • 复杂类型请使用 type 获取。如:Symbol、Promise、Map、Set、WeakMap、WeakSet、ArrayBuffer 等。
  • 判断 NaN 可使用原生 isNaN() 或 es6 Number.isNaN()
  • 判断 object 可使用 1、typeof val 返回是否为引用类型 2、type(val) 返回 Object 则该值为常规对象(包含构造函数、不包含 null、undefined、new Date()、RegExp 等特殊引用类型) 3、isObject(val) 返回 true 则该值为简单对象(即 plainObject 仅为对象字面量、new Object()、Object.create()所创建出的对象)
import {
    isArray,
    isBoolean,
    isDate,
    isFunction,
    isMath,
    isNumber,
    isObject,
    isEmptyObject,
    isRegExp,
    isString,
    isElement,
    isWindow,
    isNull,
    isUndefined,
    isNil,
    isEmpty,
    isBuffer,
    isError,
    isArguments
} from '@hui-pro/utils';

isArray([]); //return true
isBoolean(true); //return true
isDate(new Date()); //return true
isFunction(()=>{}); //return true
isMath(Math); //return true
isNumber(1); //return true
isObject({a:1}); //return true
isObject([]); //return false
isEmptyObject({}); //return true
isUndefined(undefined); //return true
isNull(null); //return true
isNil(null); //null、undefined、void 0 return true
isEmpty(''); //null、undefined、''、{}、[] return true
isRegExp(/RegExp/); //return true
isString('unknown'); //return true
isElement(#div); //return true
isWindow(window); //return true
isBuffer(new Buffer(1)); //return true
isError(new Error()); //return true
isArguments(arguments); //return true

# API

参数 说明 类型 默认值 可选值
unknown 需判断的内容 - - -