Javascript获取变量类型

/**
 * 获取变量类型
 * @param target {any}
 * @returns {string}
 * 
 * @example
 * getRawType('') // 'string'
 * getRawType({}) // 'object'
 * getRawType(new Map()) // 'map'
 * getRawType(new Set()) // 'set'
 * getRawType(new WeakSet()) // 'weakset'
 * getRawType(new WeakMap()) // 'weakmap'
 * getRawType([]) // 'array'
 * getRawType(1) // 'number'
 * getRawType(0) // 'number'
 * getRawType(NaN) // 'number'
 * getRawType(CSSMathMax) // 'function'
 * getRawType(function () { }) // 'function'
 * getRawType(Function) // 'function'
 * getRawType(Date) // 'function'
 * getRawType(true) // 'boolean'
 * getRawType(``) // 'string'
 * getRawType(`23`) // 'string'
 * getRawType(Symbol('')) // 'symbol'
 * getRawType(null) // 'null'
 * getRawType(undefined) // 'undefined'
 */
function getRawType(target) {
  return Object.prototype.toString.call(target).slice(8, -1).toLocaleLowerCase();
}

 

Was this helpful?

1 / 0

发表评论 0

Your email address will not be published. Required fields are marked *