isObject
값이 순수한 객체인지 확인하는 타입 가드 함수입니다. 배열과 null을 제외한 객체 타입을 검사합니다.
Signatures
function isObject(value: unknown): value is object;
Parameters
이름 | 타입 | 설명 | 필수 여부 |
---|---|---|---|
value | unknown | 검사할 값 | ✓ |
Returns
boolean
- 값이 객체이면서 배열이나 null이 아닐 경우 true
, 그 외의 경우 false
Type Guard
이 함수는 TypeScript의 타입 가드로 동작합니다. 조건문에서 사용할 경우 value
의 타입을 object
로 좁혀줍니다.
사용 예시
import { isObject } from '@teamsparta/utils';
// 일반 객체
isObject({}); // true
isObject({ a: 1 }); // true
isObject({ a: 1, b: '2' }); // true
// 특수 객체
isObject(new Date()); // true
isObject(/test/); // true
isObject(new RegExp('test')); // true
isObject(new Map()); // true
isObject(new Set()); // true
// false를 반환하는 경우
isObject(null); // false
isObject([]); // false
isObject([1, 2, 3]); // false
isObject('string'); // false
isObject(123); // false
isObject(true); // false
isObject(undefined); // false
isObject(() => {}); // false
// 타입 가드로 사용
const value: unknown = { name: 'John' };
if (isObject(value)) {
// 이 블록 안에서 value는 object 타입으로 추론됨
const keys = Object.keys(value);
}