isObject()
function isObject(value): value is object;
Defined in: types/isObject.ts:22
检查值是否为纯对象(通过Object构造函数创建的对象) 排除数组、null、日期、正则表达式等特殊对象
Parameters
| Parameter | Type | Description |
|---|---|---|
value | unknown | 要检查的值 |
Returns
value is object
如果值是纯对象则返回true,否则返回false
Examples
isObject({}); // 返回 true
isObject({ a: 1 }); // 返回 true
isObject([]); // 返回 false(数组不是纯对象)
isObject(null); // 返回 false(null不是对象)
isObject(new Date()); // 返回 false(日期对象不是纯对象)
isObject(Object.create(null)); // 返回 false(没有constructor属性)
**Note:** 此函数使用value.constructor === Object进行判断,因此不识别通过Object.create(null)创建的对象
**Note:** 与isObjectLike的区别:isObjectLike仅检查值是否为非null的对象,而isObject还要求是通过Object构造函数创建的