이해하는데 많은 시간이 걸렸다.
타입스크립트는 타입을 정해줄수 있는데, 함수를 선언했을때 인풋값들의 타입, 그리고 리턴값의 타입도 정해줄 수 있다.
예를들어
여기서는 함수 안에서 타입을 설정해주었지만
다음과 같이 type으로 인풋 및 리턴값의 타입을 설정한 후, 새 function에 적용시킬 수 있다.
함수 명 뒤에 Add 를 적어 현재 함수의 인풋에는 a,b 가 들어가며 모두 숫자 형태라는것을 알 수 있고, 리턴값또한 숫자로 반환해야한다.
다음과 같은 상황을 가정해보자
SuperPrint에는 숫자,boolean,string만으로 이루어진 Array를 만들 수 있다. 이때
이와같은 데이터는 오류를 낸다.
다음과같이 적으면 에러는 사라지는 것을 볼 수 있지만 매번 모든 경우의 수를 적어 줄 수가 없다.
이때 Generics라고 해서 인풋에 따라 타입을 정해줄 수가 있다.
이는 function에서 어떤 데이터가 들어오든 그 타입으로 이루어진 Array 를 생성하고 리턴값은 void인것을 알 수 있다.
다음은 type으로 리턴하는 콜 signature이다.
다음과 같이 잇풋이 여러가지가 들어오면 리턴값 또한 그에 맞는 타입으로 반환된다.