← 질문 목록
#377깊이 0
제네릭에 extends 키워드는 왜 사용하는가?
언어 · 런타임
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
타입 파라미터가 들어올 수 있는 타입을 특정 조건으로 제한하여 내부 속성 접근을 보장하기 때문이다.
| 구분 | 제약 미지정 | extends 제약 지정 |
|---|---|---|
| 허용 타입 | 모든 타입 | 특정 조건에 맞는 타입 |
| 속성 접근 | 공통 속성만 허용 | 제약된 타입의 속성 허용 |
제약을 걸지 않으면 타입스크립트는 어떤 타입이 들어올지 모른다. length나 id 같은 특정 속성을 참조할 때 컴파일 오류가 난다.
extends 키워드로 인터페이스나 구조를 지정하면 해당 타입을 만족하는 인자만 들어온다. 덕분에 함수 내부에서 안전하게 속성에 접근한다.