var toString = Object.prototype.toString;
toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math]
//Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]
检测数据的基本类型 推荐使用Object.prototype.toString.call
较于typeof、instanceof、Array.isArray,Object.prototype.toString.call更可靠,甚至null,都可以检测出来了
const getTypes = (val) => Object.prototype.toString.call(val).slice(8, -1).toLocaleLowerCase()
getTypes (1)