any vs unknown
any 타입이란?
’어떠한 것이든지, 누구든지’ 라는 뜻으로, 어떠한 타입이 입력되더라도 전부 허용하는 타입이다. 요소에 any 타입을 부여할 경우 자바스크립트를 사용하는 것이나 마찬가지가 된다.
unknown 타입이란?
’알 수 없다, 모른다’ 라는 뜻으로, 개발자에게 주의를 주는 용도의 타입이다. 즉 타입이 지정되지 않았으므로 연산에 오류가 발생할 수 있음을 알려준다.
( TypeScript 3.0에서 도입 )
타입스크립트의 Generic 타입을 사용하면, 인자에 들어오는 타입을 그대로 사용할 수 있다.
// Generic 사용 예제
export function getGeneric<MyType>(arg: MyType): MyType {
return arg;
}
const aaa: string = "철수";
const bbb: number = 8;
const ccc: boolean = true;
const result41 = getGeneric(aaa);
const result42 = getGeneric(bbb);
const result43 = getGeneric(ccc);
useQuery, useMutation처럼 내가 만든 기능을 다른 사람에게 제공하는 경우 해당 기능에 들어오는 값의 타입을 예상할 수 없다. 이때 Generic을 사용하면 들어오는 값의 타입에 따라 반환되는 값이나 컴포넌트의 타입이 결정되도록 할 수 있다.