跳到主要内容

isObject()

function isObject(value): value is object;

Defined in: types/isObject.ts:22

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

Parameters

ParameterTypeDescription
valueunknown要检查的值

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构造函数创建的