isPlainObject() function
value가 순수 객체(plain object)인지 확인합니다. 즉, 프로토타입이 Object.prototype인 객체(예: 객체 리터럴, new Object())이거나 null인 객체(Object.create(null))인지 확인합니다.
배열과 함수를 포함한 모든 비원시 값에 대해 true를 반환하는 isObject와 달리, isPlainObject는 배열, 함수, 클래스 인스턴스, 그리고 Date, Map, Set 같은 내장 객체에 대해 false를 반환합니다.
Signature:
typescript
isPlainObject: (value: unknown) => value is Record<PropertyKey, unknown>Example
ts
isPlainObject({}); // true
isPlainObject({ a: 1 }); // true
isPlainObject(Object.create(null)); // true
isPlainObject([1, 2, 3]); // false
isPlainObject(() => {}); // false
isPlainObject(new Date()); // false
isPlainObject(null); // false
isPlainObject(123); // false