发布于

lodash.isObjectLike 源码解析

作者
  • avatar
    姓名
    Jacob
    Twitter

解析

function isObjectLike(value) {
  return typeof value === 'object' && value !== null
}

关于对象类型中,有一个比较特殊的值 null,如果使用 typeof 对其类型做判断的话,输出的值为 object

typeof null // object

所以此函数的做法是判断 value 的 type 为 object,并且值不为 null

文档

_.isObjectLike(value)

检查 value 是否是 类对象。 如果一个值是类对象,那么它不应该是 null,而且 typeof 后的结果是 "object"。

添加版本

4.0.0

参数

value (*): 要检查的值。

返回

(boolean): 如果 value 为一个类对象,那么返回 true,否则返回 false。

例子

_.isObjectLike({})
// => true

_.isObjectLike([1, 2, 3])
// => true

_.isObjectLike(_.noop)
// => false

_.isObjectLike(null)
// => false