1.判断是否为(String)类型
isString = o => Object.prototype.toString.call(o) === '[object String]'
2.判断是否为(Number)类型
isNumber = o => Object.prototype.toString.call(o) === '[object Number]'
3.判断是否为(Array)类型
isArray= o => Object.prototype.toString.call(o) === '[object Array]'
4.判断是否为非空数组
arrNotEmpty=arr => Object.prototype.toString.call(arr).slice(8, -1) === 'Array' && arr.length >
5.判断是否为对象(Object)类型
isObject= o => Object.prototype.toString.call(o) === '[object Object]'
6.判断是否为对象类型且非空(非空对象)
objNotEmpty= o => Object.prototype.toString.call(o) === '[object Object]' && Object.keys(o).length > 0
7.判断是否为布尔(Boolean)类型
isBoolean= o => Object.prototype.toString.call(o) === '[object Boolean]'
8.判断是否为函数(Function)类型
isFunction= o => Object.prototype.toString.call(o) === '[object Function]'
9.判断是否为(Null)类型
isNull= o => Object.prototype.toString.call(o) === '[object Null]'
10.判断是否为未赋值(Undefined)
isUndefined = o => Object.prototype.toString.call(o) === '[object Undefined]'
11.判断是否为日期(Date)类型
isDate = o => Object.prototype.toString.call(o) === '[object Date]'
12.判断是否为正则表达式
isRegExp= o => Object.prototype.toString.call(o) === '[object RegExp]'
13.判断是否为(Error)类型
isError= o => Object.prototype.toString.call(o) === '[object Error]'
14.判断是否为(Symbol)类型
isSymbol= o => Object.prototype.toString.call(o) === '[object Symbol]'
15.判断是否为日期(Promise)类型
isPromise= o => Object.prototype.toString.call(o) === '[object Promise]'
16.判断是否为(Set)类型
isSet= o => Object.prototype.toString.call(o) === '[object Set]'