isPlainObject()
function isPlainObject(object): object is object;
Defined in: types/isPlainObject.ts:40
检查值是否为纯对象(通过Object构造函数创建的普通对象) 排除数组、日期、正则表达式、Map、Set等特殊对象
Parameters
| Parameter | Type | Description |
|---|---|---|
object | unknown | 要检查的值 |
Returns
object is object
如果值是纯对象则返回true,否则返回false
Examples
isPlainObject({}); // 返回 true(空对象)
isPlainObject({ name: 'John', age: 30 }); // 返回 true(带属性的普通对象)
isPlainObject(new Object()); // 返回 true(通过Object构造函数创建的对象)
isPlainObject([]); // 返回 false(数组不是纯对象)
isPlainObject(new Date()); // 返回 false(日期对象不是纯对象)
isPlainObject(null); // 返回 false(null不是对象)
isPlainObject(Object.create(null)); // 返回 true(原型为null的对象视为纯对象)
isPlainObject(new Map()); // 返回 false(Map对象不是纯对象)
**Note:** 函数通过检查toString标签和原型链来判断是否为纯对象
**Note:** 与isObject的区别:isObject包含所有对象类型,而isPlainObject仅包含普通对象
**Note:** 原型为null的对象(Object.create(null))也被视为纯对象