前言
此方法没有对其他方法进行引用
正文
源代码
/**
* 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
总结
该方法用来检查一个对象中是否存在某个属性。