type StringArrayItem = ArrayItemsRecursive<string[]>;
// 타입: string
type String2DItem = ArrayItemsRecursive<string[][]>;
ArrayItems
<
string
[][]>
은
string
[]
이 되지만
ArrayItemsRecursive
<
string
[][]>
은
string
이 됩니다. 제네릭 타입이 재귀적일 수 있는 기능을 통해 여기에서 배열의 요소 타입을
검색하는 것과 같은 변경 사항을 계속 적용할 수 있도록 합니다.
15.2.4 15.2.4
매핑된매핑된
조건부조건부
타입타입
매핑된 타입은 기존 타입의 모든 멤버에 변경 사항을 적용하고 조건부 타입은 하나의 기존 타
입에 변경 사항을 적용합니다. 이 둘을 함께 사용하면 제네릭 템플릿 타입의 각 멤버에 조건부
로직을 적용할 수 있습니다.
다음
MakeAllMembersFunctions
타입은 타입의 함수가 아닌 각 멤버를 함수로 바꿉니다.
type MakeAllMembersFunctions<T> = {
[K in keyof T]: T[K] extends (...args: any[]) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.