[笔记]javascript中的plain object是什么?

发表于 2019-05-22  301 次阅读


axios文档里,配置对象config的params属性必须是一个无格式对象(plain object)或 URLSearchParams 对象。那么什么是无格式对象呢?抱着疑问查阅资料记录一下:

plain object就是通过对象字面量或者new Object()创建的对象

以下是redux实现的判断是否是plain 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
}
本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

眼前解决不了的问题, 都可交付未来, 时间是一个伟大的作者, 他必将写出, 最完美的答案。