본문으로 건너뛰기
Advertisement

TypeScript: 제네릭(Generics)

1. 제네릭이란?

제네릭 은 재사용성이 높은 컴포넌트를 만들 때 유용합니다. 단일 타입이 아닌 다양한 타입에서 작동할 수 있는 함수나 클래스를 만들 수 있게 해줍니다.


2. 제네릭 함수

타입 매개변수 <T>를 사용하여 호출 시점에 타입을 결정합니다.

function identity<T>(arg: T): T {
return arg;
}

let output1 = identity<string>("myString");
let output2 = identity<number>(100);

3. 제네릭 인터페이스

인터페이스에도 제네릭을 적용하여 유연하게 사용할 수 있습니다.

interface Box<T> {
content: T;
}

const stringBox: Box<string> = { content: "Apple" };
const numberBox: Box<number> = { content: 123 };

4. 제네릭 제약 조건 (Constraints)

extends 키워드를 사용하여 특정 조건을 만족하는 타입만 허용할 수 있습니다.

interface Lengthwise {
length: number;
}

function loggingIdentity<T extends Lengthwise>(arg: T): T {
console.log(arg.length); // length 속성이 있음을 보장
return arg;
}

loggingIdentity({ length: 10, value: 3 });
Advertisement