getTag | Sanitarium

getTag

原创小于 1 分钟

getTag

是一个内部函数,用于获取一个变量的[object xxx]格式的描述,通过这个描述,可以获取到这个变量的类型:例如,传入一个数值类型,返回的就是[object Number],传入字符串,返回的就是[object String]等。

判断类型的函数基本上都依赖了这个函数。

const toString = Object.prototype.toString

function getTag(value) {
  if (value == null) {
    return value === undefined ? '[object Undefined]' : '[object Null]'
  }
  return toString.call(value)
}

首先判断了这个函数是否是null或者undefined,如果是,再判断究竟是null还是undefined,并返回相应的结果。

然后用call方法调用了Object.prototype.toString方法,该方法是原型上的一个方法,会根据变量类型,返回[object 构造函数]的字符串;再调用时,将this设置成了传入的参数,就可以获取到该变量的[object xxx]的字符串。

被依赖

相关

上次编辑于:
贡献者: mickmetalholic