* 获取详细的数据类型
* @param x x
*/
function getType(x) {
const originType = Object.prototype.toString.call(x)
const spaceIndex = originType.indexOf(' ')
const type = originType.slice(spaceIndex + 1, -1)
return type.toLowerCase()
}
console.info( getType(null) )
console.info( getType(undefined) )
console.info( getType(100) )
console.info( getType('abc') )
console.info( getType(true) )
console.info( getType(Symbol()) )
console.info( getType({}) )
console.info( getType([]) )
console.info( getType(() => {}) )
console.info( getType(new Date()) )
console.info( getType(new RegExp('')) )
console.info( getType(new Map()) )
console.info( getType(new Set()) )
console.info( getType(new WeakMap()) )
console.info( getType(new WeakSet()) )
console.info( getType(new Error()) )
console.info( getType(new Promise(() => {})) )