Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

ksw_devlog

TIL 12주 5일차 - Type script 본문

TIL

TIL 12주 5일차 - Type script

kimcoach 2023. 1. 24. 18:58

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