# 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
TIP
- 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 | 需判断的内容 | - | - | - |