JavaScript Plain Object: 简单对象之我解:
简单对象,字面上理解,就是通过 {} 直接创建或者 new Object() 创建的对象。
首先必须为对象类型,typeof 结果为 'Object' 同时 不能为null;
其次,对象的原型必然是 object.
可以通过以下代码判断:
/** | |
* @param {any} obj The object to inspect. | |
* @returns {boolean} True if the argument appears to be a plain object. | |
*/ | |
export default function isPlainObject(obj) { | |
if (typeof obj !== 'object' || obj === null) return false | |
let proto = obj | |
while (Object.getPrototypeOf(proto) !== null) { | |
proto = Object.getPrototypeOf(proto) | |
} | |
return Object.getPrototypeOf(obj) === proto | |
} |