0.0.6 • Published 6 years ago

sugar-type v0.0.6

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

sugar-type

sugar2.0框架的对象类型检测类库

API

inspect(target)

  • target - 对象,任何类型的对象
  • 返回 - 该对象的类型,字符串表示,如"string","number","error","map"等

用例如下:

const type = require('sugar-type');

type.inspect([]); //'array'
type.inspect({test: 1}); //'object'
type.inspect('123'); //'string'
type.inspect(123); //'number'
type.inspect(NaN); //'number'
type.inspect(function(){}); //'function'
type.inspect(new Date()); //'date'
type.inspect(new Error()); //'error'
type.inspect(new Map()); //'map'

还有更加快捷的判断,返回布尔值,如下:

isEmpty(target)

检查Array、Object、Map、Set4个对象是否为空,其他类型会返回true。

type.isEmpty({}); // true
type.isEmpty({a: 1}); // false
type.isEmpty(123); // true

isSymbol(target)

返回是否为对象类型,用法如下:

type.isSymbol(Symbol('symbol')); // true
type.isSymbol(123); // false

isObject(target)

返回是否为对象类型,用法如下:

type.isObject({}); // true
type.isObject(123); // false

isArray(target)

返回是否为数组类型,用法如下:

type.isArray([1, 2, 3]); // true
type.isArray('string'); // false

isFunction(target)

返回是否为函数类型,用法如下:

type.isFunction(function(){}); // true
type.isFunction('string'); // false

isRegExp(target)

返回是否为正则类型,用法如下:

type.isRegExp(/^abc/g); // true
type.isRegExp(true); // false

isDate(target)

返回是否为日期类型,用法如下:

type.isDate(new Date()); // true
type.isDate(true); // false

isMath(target)

返回是否为数学类型,用法如下:

type.isMath(Math); // true
type.isMath(123); // false

isError(target)

返回是否为错误类型,用法如下:

type.isError(new Error('这里有问题')); // true
type.isError(true); // false

isJSON(target)

返回是否为JSON类型,用法如下:

type.isJSON(JSON); // true
type.isJSON(true); // false

isArguments(target)

返回是否为参数类型,用在函数里的参数数组判断,用法如下:

function fn(param) {
	console.log(type.isArguments(arguments)); // true
	console.log(type.isArguments(true)); // false
}
fn('param');

isMap(target)

返回是否为map类型,用法如下:

let map = new Map();
map.set(1, '我是小1');
map.set(2, '我是小二');
map.set(3, '我是小三');
type.isMap(map); // true
type.isMap(true); // false

isSet(target)

返回是否为set类型,用法如下:

let set = new Set();
set.add(1);
set.add(2);
set.add(3);
type.isMap(set); // true
type.isMap(true); // false

isString(target)

返回是否为字符串类型

isNumber(target)

返回是否为数字类型

isBoolean(target)

返回是否为布尔类型

isNull(target)

返回是否为null类型

isUndefined(target)

返回是否为undefined类型