本文为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获取内置对象的类型。
一点疑惑:
这里对
null和undefined单独做了判断处理,但实际上对null和undefined直接调用toString函数时也可以得到上面的结果,所以有些困惑这里为什么要单独处理。猜测是对
ie、edge浏览器的兼容处理。