UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

19 lines (16 loc) 752 B
import getTag from './internals/getTag.js'; import { functionProtoToString, objectTag, objectProtoHasOwnProperty, objectGetPrototypeOf } from './internals/native.js'; import isObjectLike from './isObjectLike.js'; var objectCtorString = functionProtoToString.call(Object); function isPlainObject(value) { if (!isObjectLike(value) || getTag(value) !== objectTag) { return false; } var proto = objectGetPrototypeOf(Object(value)); if (proto === null) { return true; } var Ctor = objectProtoHasOwnProperty.call(proto, 'constructor') && proto.constructor; return typeof Ctor === 'function' && Ctor instanceof Ctor && functionProtoToString.call(Ctor) === objectCtorString; } export { isPlainObject as default };