Created
August 6, 2017 07:03
-
-
Save qzm/df682718ca961a612ed05f127ef4b940 to your computer and use it in GitHub Desktop.
gettype
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 格式工厂,生成判断的函数 | |
* @param {String} type | |
* @return {Function} 判断函数 | |
*/ | |
function typeFactory(type) { | |
return (obj) => { | |
return Object.prototype.toString.call(obj) === `[object ${type}]`; | |
} | |
} | |
/** | |
* 判断数据是否为Array | |
* @param {*} obj | |
* @return {Boolean} 是否为Array | |
*/ | |
const isArray = typeFactory('Array'); | |
/** | |
* 判断数据是否为Object | |
* @param {*} obj | |
* @return {Boolean} 是否为Object | |
*/ | |
const isObject = typeFactory('Object'); | |
/** | |
* 判断数据是否为Function | |
* @param {*} obj | |
* @return {Boolean} 是否为Function | |
*/ | |
const isFunction = typeFactory('Function'); | |
/** | |
* 判断数据是否为Number | |
* @param {*} obj | |
* @return {Boolean} 是否为Number | |
*/ | |
const isNumber = typeFactory('Number'); | |
/** | |
* 判断数据是否为RegExp | |
* @param {*} obj | |
* @return {Boolean} 是否为RegExp | |
*/ | |
const isRegExp = typeFactory('RegExp'); | |
/** | |
* 判断数据是否为String | |
* @param {*} obj | |
* @return {Boolean} 是否为String | |
*/ | |
const isString = typeFactory('String'); | |
/** | |
* 判断数据是否为Boolean | |
* @param {*} obj | |
* @return {Boolean} 是否为Boolean | |
*/ | |
const isBoolean = typeFactory('Boolean'); | |
/** | |
* 判断数据是否为Undefined | |
* @param {*} obj | |
* @return {Boolean} 是否为Undefined | |
*/ | |
const isUndefined = typeFactory('Undefined'); | |
/** | |
* 判断数据是否为Null | |
* @param {*} obj | |
* @return {Boolean} 是否为Null | |
*/ | |
/** | |
* 判断数据是否为Symbol | |
* @param {*} obj | |
* @return {Boolean} 是否为Symbol | |
*/ | |
const isSymbol = typeFactory('Symbol'); | |
/** | |
* 判断数据是否为Map | |
* @param {*} obj | |
* @return {Boolean} 是否为Map | |
*/ | |
const isMap = typeFactory('Map'); | |
/** | |
* 判断数据是否为Set | |
* @param {*} obj | |
* @return {Boolean} 是否为Set | |
*/ | |
const isSet = typeFactory('Set'); | |
/** | |
* 判断数据是否为WeakMap | |
* @param {*} obj | |
* @return {Boolean} 是否为WeakMap | |
*/ | |
const isWeakMap = typeFactory('WeakMap'); | |
/** | |
* 判断数据是否为WeakSet | |
* @param {*} obj | |
* @return {Boolean} 是否为WeakSet | |
*/ | |
const isWeakSet = typeFactory('WeakSet'); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment