타입으로부터 타입 만들기
타입으로부터 타입 만들기
이번 섹션은 TypeScript의 타입 다루기(Type Manipulation)를 시작하는 입구 페이지예요. 이미 가진 타입이나 값을 바탕으로 새로운 타입을 만들어내는 방법을 여러 편에 걸쳐 소개해요.
본문
TypeScript의 타입 시스템이 이렇게 강력한 이유는, 다른 타입을 바탕으로 타입을 표현할 수 있기 때문이에요. 한 타입이 다른 타입을 가리키는 식으로, 타입 자체를 재료 삼아 새 타입을 쌓아 올리는 구조죠.
이 아이디어의 가장 단순한 형태가 바로 generics(제네릭)예요. 거기에 더해 우리가 쓸 수 있는 다양한 타입 연산자(type operators)도 있고요. 심지어 이미 가지고 있는 값을 바탕으로 타입을 표현하는 것도 가능해요.
여러 타입 연산자를 조합하면 복잡한 연산과 값을 아주 간결하면서도 유지보수하기 좋은 형태로 표현할 수 있어요. 이 섹션에서는 바로 그렇게, 기존 타입이나 값을 바탕으로 새 타입을 표현하는 여러 방법을 차례로 다룰 거예요.
각 주제는 따로따로 문서로 나뉘어 있어서, 아래 목록에서 필요한 부분부터 골라 볼 수 있어요.
- Generics — 매개변수를 받는 타입
- Keyof Type Operator —
keyof연산자로 새로운 타입 만들기 - Typeof Type Operator —
typeof연산자로 새로운 타입 만들기 - Indexed Access Types —
Type['a']문법으로 타입의 일부분에 접근하기 - Conditional Types — 타입 시스템 안에서 if 문처럼 동작하는 타입
- Mapped Types — 기존 타입의 각 프로퍼티를 매핑해 타입 만들기
- Template Literal Types — 템플릿 리터럴 문자열로 프로퍼티를 바꾸는 매핑 타입
더 알아보기
이 페이지는 타입 다루기 섹션의 입구일 뿐, 설명의 본체는 위 링크들의 각 주제 문서에 담겨 있어요. 제네릭부터 시작해 타입 연산자, 매핑 타입까지 순서대로 따라가면 타입을 조립하는 감각이 자연스럽게 잡혀요.