[typescript] 인터페이스의 제네릭 타입에 타입 제한을 설정하는 방법
제네릭은 타입스크립트에서 재사용 가능한 컴포넌트를 만들 때 매우 유용하게 활용됩니다. 때때로 제네릭에 특정한 타입을 제한하고 싶을 수 있는데, 이때 인터페이스에 제네릭을 사용하는 방법에 대해 알아보겠습니다.
타입 제한이란?
제네릭을 사용하여 함수나 클래스를 작성할 때, 특정 타입에 대한 제약을 걸 수 있습니다. 이를 통해 유효한 타입의 파라미터나 속성에 대한 보증을 할 수 있습니다.
인터페이스에서 제네릭 타입 제한 설정하기
다음은 인터페이스에서 제네릭 타입에 제한을 설정하는 방법을 보여주는 예제입니다.
interface Printable {
print(): void;
}
function printAll<T extends Printable>(arr: T[]): void {
arr.forEach(item => item.print());
}
위의 예제에서 printAll
함수는 Printable
인터페이스를 구현하는 타입에 대해서만 동작합니다. 이를 통해 print
메서드가 있는 타입에 대해서만 printAll
함수를 사용할 수 있도록 제한을 걸었습니다.
이러한 타입 제한을 통해 코드의 안정성을 높일 수 있고 잠재적인 에러를 방지할 수 있습니다.
결론
인터페이스 제네릭 타입에 제한을 거는 것은 타입스크립트에서 강력한 타입 시스템을 활용하여 코드의 안정성을 높이는 중요한 방법입니다. 제네릭을 사용할 때 타입 제한을 활용하여 안전하고 신뢰성 있는 코드를 작성할 수 있습니다.