본문 바로가기

타입스크립트

타입스크립트 제네릭

728x90
반응형
SMALL

제네릭은 대부분 언어에서 지원하는 개념 중 하나다. 

코딩을 하다보면 어떠한 데이터타입을 명시적으로 가져올 수 없거나 동적으로 유연하게 동작하기 원하는 경우가 있는데 

이럴경우 제네릭을 보통 사용한다. 

제네릭은 대문자로 시작하는 아무 문자로나 정의할 수 있다. 

 

type Player<E> = {
 name:string
 extraInfo:E
}

//이렇게 정의할 수도 있음 
//1. type NicoPlayer = Player<{favFood:string}>

//2. type NicoExtra = {
// favFood:string
//}
// type NicoPlayer = Player<NicoExtra>

//const name: Player<{favFood:string}> = {
//1. const name: Player<NicoPlayer> = {
	name:"nico",
    extraInfo: {
    	favFood:"kimchi"
    }
}

해당 소스처럼 제네릭소스를 분리하고 확장할 수 있다. 타입을 여러개 다이나믹하게 구성해야 할 경우 제네릭을 사용하면 유용하다. 

728x90
반응형
LIST