Skip to content

封装一个完善的typeof #6

@hans000

Description

@hans000

js中的typeof只能精确判断值类型,引用类型都视为字符串object(null也是object),这里使用Object的toString方法判断

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
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions