js-challenges icon indicating copy to clipboard operation
js-challenges copied to clipboard

判断一个对象是否是isPlainObject

Open Sunny-117 opened this issue 2 years ago • 2 comments

function isPlainObject(obj) {
  if (typeof obj !== "object") {
    return false;
  }
  return Object.getPrototypeOf(obj) === Object.prototype;
}

Sunny-117 avatar Nov 03 '22 07:11 Sunny-117

function isPlainObject(obj) {
  if (typeof obj !== 'object' || obj === null) {
    return false;
  }

  const proto = Object.getPrototypeOf(obj);
  if (proto === null) {
    return true;
  }

  let baseProto = proto;
  while (Object.getPrototypeOf(baseProto) !== null) {
    baseProto = Object.getPrototypeOf(baseProto);
  }

  return proto === baseProto;
}

kangkang123269 avatar Feb 20 '23 09:02 kangkang123269

//vue中的判断方法 var _toString = Object.prototype.toString; function isPlainObject(obj) { return _toString.call(obj) === '[object Object]'; }

huxuedong avatar Jan 19 '24 05:01 huxuedong