1
속성 보장
T extends Lengthwise처럼 필요한 멤버가 있는 타입만
받는다.
제네릭을 유지하려면 타입을 하나로 고정하지 말고, 함수 내부에서 꼭 필요한 속성, 키, 생성자, 객체성 같은 최소 조건만 선언한다.
T extends Lengthwise처럼 필요한 멤버가 있는 타입만
받는다.
K extends keyof T로 객체에 실제 존재하는 키만
선택하게 한다.
new (...) => T와 클래스 제약으로 팩토리 반환
타입을 지킨다.
T extends object로 스프레드와 인터섹션 반환을
안전하게 만든다.
멤버를 읽어야 하면 구조적 제약을 먼저 둔다.
키 이름은 값 타입과 묶어야 잘못된 문자열을 막는다.
입력 객체의 구체 타입을 보존해 결과 타입까지 추론하게 한다.
제약 조건은 타입을 좁혀 버리는 장치가 아니라, 제네릭의 추론을 유지한 채 함수 내부에서 필요한 조작만 허용하는 안전장치입니다.