Lodash源码分析-hasIn.js

前言

此方法没有对其他方法进行引用

正文

源代码

/**
 * Checks if `path` is a direct or inherited property of `object`.
 *
 * @since 4.0.0
 * @category Object
 * @param {Object} object The object to query.
 * @param {string} key The key to check.
 * @returns {boolean} Returns `true` if `key` exists, else `false`.
 * @see has, hasPath, hasPathIn
 * @example
 *
 * const object = create({ 'a': create({ 'b': 2 }) })
 *
 * hasIn(object, 'a')
 * // => true
 *
 * hasIn(object, 'b')
 * // => false
 */
function hasIn(object, key) {
  return object != null && key in Object(object)
}

export default hasIn

复制代码

解析

参数

该方法接受两个参数:

第一个是一个对象;

第二个是对象中的属性。

返回值

该方法返回布尔值,true 或者 false

方法解析

该方法会对第一个传入的参数对象进行两项判断,

第一项判断该对象是否是空对象,若是空对象为 false ,负责为 true

第二项判断该对象中是否存在第二个参数这样的属性,该属性若存在于对象则为 true ,否则为 false

两项都为 true 时,向调用该方法的返回 true ,否则返回 false

注: 该方法只可检查传入对象的浅层属性,不可检查深层属性。

示例
const object = { a: 1, b: 2, c: { d: 3 } }

hasIn(object, 'a')
--> true
hasIn(object, 'd')
--> false
复制代码
总结

该方法用来检查一个对象中是否存在某个属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值