lodash源码分析之getTag

64 阅读1分钟

本文为lodash源码分析的第7篇,后续会持续更新这个专题,欢迎指正。

依赖

源码分析

getTag函数主要是为了获取value的类型

const toString = Object.prototype.toString

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

使用Object.prototype.toString获取内置对象的类型。

一点疑惑:

这里对nullundefined单独做了判断处理,但实际上对nullundefined直接调用toString函数时也可以得到上面的结果,所以有些困惑这里为什么要单独处理。

猜测是对ieedge浏览器的兼容处理。

image.png