Tech

타입스크립트 제네릭, 두려움 없이

cover image

제네릭은 어렵게 느껴지지만, 결국 “타입을 값처럼 다루는 도구”일 뿐이다. 자주 쓰는 다섯 패턴만 익혀도 대부분의 상황이 편해진다.

1. 항등 함수로 감 잡기

function identity<T>(value: T): T {
  return value;
}

T는 호출하는 쪽이 채워 넣는 빈칸이다. 이 감각만 잡으면 나머지는 응용이다.

2. 제약 걸기 (extends)

function pluck<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

K가 반드시 T의 키여야 한다고 못 박으면, 오타는 컴파일 단계에서 걸린다.

3~5. 기본값, 조건부 타입, 유틸리티

기본값(<T = string>), 조건부 타입(T extends U ? X : Y), 그리고 Partial·Pick 같은 유틸리티 타입까지. 이 조합이면 실무 코드의 대부분을 안전하게 표현할 수 있다.

제네릭은 “미래의 나”를 위한 문서다. 타입이 곧 설명서가 된다.

댓글

로그인 없이 바로 작성할 수 있어요

글 제목·본문에서 찾아드려요

↑↓ 이동 · ↵ 열기 · esc 닫기Pagefind