1.使用Object.prototype.toString.call()方法
function dataType(obj) {
var toString = Object.prototype.toString;
var map = {
'[object Boolean]': 'boolean',
'[object Number]': 'number',
'[object String]': 'string',
'[object Function]': 'function',
'[object Array]': 'array',
'[object Date]': 'date',
'[object RegExp]': 'regExp',
'[object Undefined]': 'undefined',
'[object Null]': 'null',
'[object Object]': 'object'
};
return map[toString.call(obj)];
}
const res = dataType(true);
const res2 = dataType({ name: "skm" });
const res3 = dataType([]);
const res4 = dataType(null);
console.log(res); // boolean
console.log(res2); // object
console.log(res3); // array
console.log(res4); // null