mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 06:27:49 +00:00
26 lines
852 B
JavaScript
26 lines
852 B
JavaScript
import getPrototype from './_getPrototype';
|
|
|
|
/** Used for built-in method references. */
|
|
var objectProto = Object.prototype;
|
|
|
|
/** Used to check objects for own properties. */
|
|
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
|
|
/**
|
|
* The base implementation of `_.has` without support for deep paths.
|
|
*
|
|
* @private
|
|
* @param {Object} object The object to query.
|
|
* @param {Array|string} key The key to check.
|
|
* @returns {boolean} Returns `true` if `key` exists, else `false`.
|
|
*/
|
|
function baseHas(object, key) {
|
|
// Avoid a bug in IE 10-11 where objects with a [[Prototype]] of `null`,
|
|
// that are composed entirely of index properties, return `false` for
|
|
// `hasOwnProperty` checks of them.
|
|
return hasOwnProperty.call(object, key) ||
|
|
(typeof object == 'object' && key in object && getPrototype(object) === null);
|
|
}
|
|
|
|
export default baseHas;
|