isPlainObject 
주어진 값이 순수 객체(Plain object)인지 확인해요.
순수 객체는 {}나 { name: 'John', age: 30 } 같은 단순한 JavaScript 객체를 말해요. 클래스에서 만들어지지 않고, 프로토타입은 Object.prototype이나 null이에요. toString 메서드를 호출해서 문자열로 변환될 때는 [object Object]로 나타나요.
인터페이스 
typescript
function isPlainObject(value: unknown): value is Record<PropertyKey, any>;파라미터 
- value(- unknown): 검사할 값.
반환 값 
(value is Record<PropertyKey, any>): 값이 순수 객체이면 true.
예시 
typescript
isPlainObject({}); // true
isPlainObject([]); // false
isPlainObject(Object.create(null)); // true
class Foo {}
isPlainObject(new Foo()); // false
isPlainObject(new Date()); // false
isPlainObject(new Set()); // false
isPlainObject(new Map()); // false
isPlainObject(Buffer.from('hello, world')); // false
isPlainObject(Math); // false
isPlainObject(JSON); // false
isPlainObject(null); // false
isPlainObject(1); // false성능 비교 
| 번들 사이즈 | 런타임 성능 | |
|---|---|---|
| es-toolkit | 279 바이트 (82.4% 작음) | 1,505,684 회 (1.70× 빠름) | 
| es-toolkit/compat | 435 바이트 (72.5% 작음) | 2,013,760 회 (2.28× 빠름) | 
| lodash-es | 1,586 바이트 | 882,669 회 | 

