function getType(val) {
let cfg = {
'[object Object]': 'object',
'[object Array]': 'array',
'[object Number]': 'object number',
'[object Boolean]': 'object boolean',
'[object String]': 'object string',
'[object Null]': 'null',
}
let type = typeof val
let toString = e => Object.prototype.toString.call(e)
return type === 'object' ? cfg[toString(val)] : type
}
js中的typeof只能精确判断值类型,引用类型都视为字符串object(null也是object),这里使用Object的toString方法判断