JS&TS Essential/TypeScript
TypeScript: Generic
CodeMania
2021. 3. 6. 21:19
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)