본문 바로가기

JS&TS Essential/TypeScript

TypeScript: Generic

TypeScript에는 generic이란 개념이 있다. 무엇인지 알아보도록 하자~~~~


별 의미는 없지만 다음과 같이 print라는 함수를 만들었다.

print 함수는 parameter로 string을 받고 string을 반환하는 함수이다!!!!

그런데 number를 print함수로 찍어보고싶다면 가능할까? 당연히 불가능할 것이다.

function print(content: string): string {
  console.log(content)
  return content
}

이럴 때 generic을 써보자~~~ 처음 봤다면 낯설 수도 있겠지만, 까보면 별 거 없다.

<와 > 사이에 온 문자 T는 함수가 호출되기 전까지 무엇인지 모르는 미지의 타입이 된다.

즉, 이 함수는 미지의 타입 T를 매개변수로 받아서 T타입을 결과값으로 반환한다.

그리고 함수에 generic을 사용했을 때는 '함수명<type>()'과 같이 호출해주면 된다.

function print<T>(content: T): T {
  console.log(content)
  return content
}

print<number>(345)

 

'JS&TS Essential > TypeScript' 카테고리의 다른 글

Generic  (0) 2021.11.20
Vue에서 TypeScript 사용하기: Props  (0) 2021.03.06
Vue에서 TypeScript 사용하기: Data  (0) 2021.03.04