跳到主要内容

isPlainObject()

function isPlainObject(object): object is object;

Defined in: types/isPlainObject.ts:40

检查值是否为纯对象(通过Object构造函数创建的普通对象) 排除数组、日期、正则表达式、Map、Set等特殊对象

Parameters

ParameterTypeDescription
objectunknown要检查的值

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))也被视为纯对象