Skip to content

IsEqual

두 타입이 완전히 같은지 알려줘요. 같으면 true, 다르면 false가 돼요.

typescript
type Same = IsEqual<A, B>;

사용법

IsEqual<A, B>

A extends B는 "넣을 수 있는가"를 묻지만, IsEqual은 "같은 타입인가"를 물어요. 예를 들어 'literal'string에 넣을 수 있지만 같은 타입은 아니에요.

특히 any를 다른 타입과 구분해 주기 때문에, 타입 테스트에서 실수로 들어간 any를 잡아낼 때 유용해요.

typescript
import type { IsEqual } from 'es-toolkit/types';

type A = IsEqual<{ a: string }, { a: string }>; // true
type B = IsEqual<string, 'literal'>; // false

// unknown과 any는 보통 구분되지 않지만, IsEqual은 구분해요.
type C = IsEqual<unknown, any>; // false
type D = IsEqual<any, any>; // true

타입 파라미터

  • A: 비교할 첫 번째 타입이에요.
  • B: 비교할 두 번째 타입이에요.

MIT 라이선스에 따라 배포됩니다.