lodash源码分析之isObject
本文为读 lodash 源码的第五十篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
gitbook也会同步仓库的更新,gitbook地址:pocket-lodash
源码分析
isObject 用来判断一个值是否为 object 类型。
这个方法最主要的一点就是排除了 null ,看下源码的实现:
function isObject(value) {
const type = typeof value
return value != null && (type === 'object' || type === 'function')
}
可以看到,isObject 是基于 typeof 来实现的,typeof null 会返回 object, 因此需要将 null 排除掉。
另外 function 其实也是 object 类型,但是用 typeof来判断时,会返回 function ,所以也要对函数进行特殊的处理。
相关链接
License
署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)
最后,所有文章都会同步发送到微信公众号上,欢迎关注,欢迎提意见:
作者:对角另一面