제네릭 제약의 구성 요소

제네릭은 여러 타입을 받을 수 있지만, 함수 내부에서 특정 속성을 써야 한다면 `extends`로 최소 조건을 선언해야 합니다.

1

타입 변수

`T`는 호출 시점에 결정되는 타입이므로 아무 조건이 없으면 내부 속성 접근이 제한됩니다.

2

extends 조건

`T extends Lengthwise`는 length 속성을 가진 값만 통과시키는 컴파일 규칙입니다.

3

keyof 제약

`K extends keyof T`를 쓰면 객체에 실제 존재하는 키만 안전하게 받을 수 있습니다.

4

반환 타입 유지

제약은 타입을 좁히는 것이 아니라 필요한 조건만 더해 원래 타입 정보를 보존합니다.

핵심제네릭 제약의 구성 요소은 각 요소의 관계와 선택 조건을 함께 읽어야 한다.