JavaScript判定plin oject

927 ワード

Plain Object:字面量やnew Object()で定義されているオブジェクトのことです.以下のコードで判定できます.
 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
}