isObject

값이 순수한 객체인지 확인하는 타입 가드 함수입니다. 배열과 null을 제외한 객체 타입을 검사합니다.

Signatures

function isObject(value: unknown): value is object;

Parameters

이름타입설명필수 여부
valueunknown검사할 값

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);
}