ksw_devlog
TIL 12주 5일차 - Type script 본문
Generic 적용한 함수만들기
함수에 <> 이런 괄호를 열면 파라미터를 또 입력할 수 있습니다.
근데 여기 안엔 타입만 입력할 수 있습니다. 타입파라미터 문법임
function 함수<MyType>(x: MyType[]) :MyType {
return x[0];
}
let a = 함수<number>([4,2])
let b = 함수<string>(['kim', 'park'])
그럼 이제 함수를 사용할 때도 <> 안에 파라미터처럼 타입을 입력할 수 있습니다.
그럼 님들이 이제 함수<number>( ) 이렇게 쓰는 순간
MyType 이라는 변수에 number 라는게 들어간다고 보시면 됩니다.
그럼 이제 함수( x : number[] ) :number { } 이거랑 똑같이 동작합니다.
그럼 뭐가 좋겠습니까. 아까 unknown 가득한 예제와는 다르게
return 되는 타입이 number입니다.
b 변수는 return되는 타입이 뭐게요 맞춰보셈
아무튼 결론 : Generic을 쓰면 여러분이 정한 타입을 return 값으로 뱉는 함수를 제작가능한 것입니다.
<> 문법만 잘 쓰면 됩니다.
function 함수<MyType>(x: MyType[]) :MyType {
return x[0];
}
let a = 함수([4,2])
let b = 함수(['kim', 'park'])
실은 함수 사용시 꼭 <> 안써도 알아서 기본 타입을 유추해서 집어넣어줍니다.
이래도 결과는 똑같습니다.
(참고)
- 타입파라미터는 자유작명가능 보통 <T> 이런걸로 많이 합니다.
- 일반 함수파라미터 처럼 2개 이상 넣기도 가능합니다
'TIL' 카테고리의 다른 글
TIL 01.25 (0) | 2023.01.25 |
---|---|
WIL 12주차 (0) | 2023.01.24 |
TIL 12주 4일차- Type script (0) | 2023.01.19 |
TIL 12주 3일차- Type script (0) | 2023.01.18 |
TIL 12주 2일차 - Type script 복습 (2) | 2023.01.17 |