패스잇
프론트엔드 개발 · 중급

TypeScript에서 제네릭(Generics)을 사용하는 주요 목적은 무엇이며, 제네릭 제약 조건(Generic Constraints)은 언제, 왜 필요한지 구체적인 코드 예시와 함께 설명해 주세요.

힌트 · 함수나 클래스에서 다양한 타입에 대해 유연하고 재사용 가능한 코드를 작성하기 위해 제네릭을 사용하며, 특정 속성이나 메서드를 가진 타입으로 제한할 때 제약 조건이 필요합니다.

타입 안정성코드 재사용성타입 추론제네릭 제약 조건유연성

모범답안

TypeScript에서 제네릭을 사용하는 주된 목적은 타입 안정성을 유지하면서 코드 재사용성을 높이는 것입니다. 제네릭을 사용하면 함수나 클래스가 다양한 타입에 대해 동작할 수 있도록 일반화할 수 있습니다.

제네릭 제약 조건은 특정 타입만 허용하도록 제한해야 할 때 필요합니다. 예를 들어, 특정 속성을 가진 객체만 처리하는 함수를 만들고 싶을 때 제약 조건을 사용합니다.

interface Lengthwise {
  length: number;
}

function loggingIdentity<T extends Lengthwise>(arg: T): T {
  console.log(arg.length);
  return arg;
}

위 예시에서 Lengthwise 인터페이스를 사용하여 arglength 속성을 가지고 있는지 확인합니다. 이렇게 하면 length 속성이 없는 타입이 전달되는 것을 방지하여 타입 안정성을 확보할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 TypeScript 면접 질문

← TypeScript 면접 질문 전체 보기