타입으로부터 타입 만들기
타입으로부터 타입 만들기 (Creating Types from Types)
TypeScript의 타입 시스템이 아주 강력한 이유는, 타입을 다른 타입을 바탕으로 표현할 수 있기 때문이에요.
이 아이디어의 가장 단순한 형태가 제네릭(generics)이에요. 거기에 더해, 사용할 수 있는 타입 연산자(type operators) 도 다양하게 준비되어 있어요. 또한 이미 가진 값(values) 을 바탕으로 타입을 표현하는 것도 가능해요.
여러 타입 연산자를 조합하면, 복잡한 연산과 값을 간결하고 유지보수하기 쉬운 방식으로 표현할 수 있어요. 이 섹션에서는 기존 타입이나 값을 바탕으로 새 타입을 표현하는 방법들을 다룰게요.
- 제네릭 (Generics) - 파라미터를 받는 타입
- keyof 타입 연산자 (Keyof Type Operator) -
keyof연산자로 새 타입 만들기 - typeof 타입 연산자 (Typeof Type Operator) -
typeof연산자로 새 타입 만들기 - 인덱스 접근 타입 (Indexed Access Types) -
Type['a']구문으로 타입의 일부 접근하기 - 조건부 타입 (Conditional Types) - 타입 시스템 안에서 if문처럼 동작하는 타입
- 매핑된 타입 (Mapped Types) - 기존 타입의 각 프로퍼티를 매핑해 타입 만들기
- 템플릿 리터럴 타입 (Template Literal Types) - 템플릿 리터럴 문자열로 프로퍼티를 바꾸는 매핑 타입
더 알아보기 (Learn more)
- 위 목록의 각 주제별 문서를 순서대로 따라가며, 타입으로부터 타입을 만드는 방법을 하나씩 익혀 보세요.
- 제네릭부터 시작해 타입 연산자를 조합하는 연습을 하다 보면, 복잡한 타입 표현이 자연스러워져요.