[TypeScript] 제네릭

챔수·2023년 6월 1일
0

개발 공부

목록 보기
72/101

타입스크립트에서 제네릭은 코드 재사용성을 높이고 타입 안정성을 보장한다. 함수나 클래스를 작성할 때 사용될 데이터의 값을 미리 지정하지 않고 인자로 전달된 데이터의 타입에 따라 자동으로 타입을 추론하게 된다.

function printLog(text: string): string {
	return text;
}

예시의 코드를 string타입과 number타입을 받고싶다면 유니온 타입으로 만들어 사용 해주면 될 것이다.

function printLog(text: string | number): string | number {
	return text;
}

이 방법으로 두 타입의 값들을 넣을 수 있는데 이 두 타입 이외의 타입은 입력이 불가하다. 제네릭을 사용하면 다음과 같이 작성할 수 있다.

function printLog<T>(text: T): T {
	return text;
}

printLog함수명 옆에 T라는 변수를 추가했다. T는 유저가 준 파라미터 타입을 캡처하고 사용할 수 있게 해준다.

인터페이스와 제네릭

인터페이스에서 제네릭 문법을 사용할 수 있다. 이를 이용하면 제네릭의 값에 어떤 값이 들어가는지에 따라 값이 바뀌기 때문에 재사용성을 높일 수 있다.

interface Item<T> {
	name: T;
	stock: number;
	selected: boolean;
}
profile
프론트앤드 공부중인 챔수입니다.

0개의 댓글