UNPKG

@planjs/utils

Version:

🔧 Common tools collection

44 lines (37 loc) 982 B
import _typeof from "@babel/runtime/helpers/esm/typeof"; import isWindow from './is-Window'; /** * 定义一个参数是否是object类型的,不等同于javascript中的 typeof * null 不是对象 * @param value * @category Is */ function isObject(value) { return value === Object(value); } /** * isObjectLike({}) => true * isObjectLike([1, 2, 3]) => true * isObjectLike(Function) => false * isObjectLike(null) => false * @category Is */ export function isObjectLike(value) { return _typeof(value) === 'object' && value !== null; } /** * 判断是否 plan object 通过 "{}" 或者 "new Object" 创建的 * @param value * @category Is */ export function isPlanObject(value) { if (!isObject(value) || value.nodeType || isWindow(value)) { return false; } var proto = value; while (Object.getPrototypeOf(proto) !== null) { proto = Object.getPrototypeOf(proto); } return Object.getPrototypeOf(value) === proto; } export default isObject;