TIL 7/27 TypeScript Generics

2023. 7. 28. 01:31Dev/TIL WIL

제네릭이란 타입을 함수의 파라미터처럼 사용하는 것을 의미한다.

 

재사용성이 높은 컴포넌트를 만들 때 자주 활용되는 특징이다. 특히 한 가지 타입보단

 

여러가지 타입에서 동작하는 컴포넌트를 생성하는 데 사용된다.

 

text라는 파라미터를 받아 text를 반환하는 함수가 있다. 

 

 

아래 함수는 제네릭 기본 문법이 적용된  형태이다.

 

파라미터와 리턴값 모두 전달받은 제네릭타입으로 제한한다.

 

 

함수를 호출하는 부분에서 타입을 같이 넘겨준다.

 

제네릭 값을 지정해 함수를 호출하게 되면 

 

 

위와 같이 전달된 타입으로 정의된다.

 

의아한건

 

 

아직 제네릭 타입이 정해지지 않은 함수에서 length와 같은 메서드는 사용할 수 없다. (number가 올 수도 있기 때문)

 

그렇기에 위처럼 제네릭에 타입을 지정해 해결하는 방법인데, 문서에서 설명하는 건

 

제네릭 함수 코드는 일단 T라는 변수 타입을 받고, 인자 값으로는 배열 형태의 T를 받습니다. 예를 들면 함수에 [1,2,3]처럼 숫자로 이뤄진 배열을 받으면 반환 값으로 number를 돌려주는 것이다.

 

라는데 파라미터와 리턴 값 모두 전달된 제네릭 타입으로 이루어진 배열이다.

 

그렇다면 반환되는 것도 number가 아닌 배열이 아닌가?

 

내일 해결하고 추가해야겠다.

 

 

 

위와 같이 더 명시적으로 제네릭 타입을 선언할 수 있다.

'Dev > TIL WIL' 카테고리의 다른 글

7월 3주차 WIL  (0) 2023.07.30
TIL 7/28 TypeScript d.ts  (0) 2023.07.28
TIL 7/26 TypeScript(2)  (0) 2023.07.27
TIL 7/25 TypeScript(1)  (0) 2023.07.26
TIL 7/20 form 중첩  (0) 2023.07.20