제네릭 제약 조건

제네릭 제약 조건

모든 타입을 허용하면 내부에서 할 수 있는 일이 줄어들기 때문에 extends로 최소한의 구조나 관계를 요구합니다.

extends

최소 구조 요구

length나 id처럼 내부에서 사용할 속성이 있다면 그 구조를 만족하는 타입으로 제한합니다.

T extends
여러 변수

관계 설정

두 타입 변수 사이의 포함 관계를 만들어 키와 객체처럼 연결된 값을 안전하게 다룹니다.

K extends keyof T
class 제약

생성자 형태 요구

인스턴스를 만들거나 클래스 타입을 받아야 할 때 생성자 시그니처를 제약으로 둡니다.

new () => T
추론 유지

필요한 만큼만 제한

제약을 너무 넓거나 좁게 잡지 않으면 호출 시점의 구체 타입 정보가 잘 보존됩니다.

inference