간략하게 제네릭도 배우고, 개념 정리를 한 다음에 무한 복습이 필요하다고 생각했다.
타입스크립트는 자바스크립트에 타입을 지정한 것이기 때문에, 자바스크립트 함수를 만들어서 그 함수에 타입을 넣고 타입스크립트로 변경해보기로 했다.
우선 자바스크립트로 함수를 만들어보았다.
// count(arr): 배열을 매개변수로 받아 배열의 길이를 반환합니다.
const count = (arr) => arr.length;
// console.log("arr", count([1, 2, 3, 4, 5]));
// findIndex(arr, item): 첫번째 매개변수로 배열을, 두번째 매개변수로 받아온 item이 첫번째 매개변수 arr배열의 몇번째 index로 존재하는지 체크한 후 존재한다면 몇번째 index인지 반환하고 존재하지않는다면 null을 반환
const findIndex = (arr, item) => {
return arr.indexOf(item) !== -1 ? arr.indexOf(item) : null;
};
// console.log("arr", findIndex([1, 2, 3, 4, 5], 6));
그 다음 타입스크립트 ide를 열고 타입을 넣어보았다.
const count = <T>(arr: T[]): number => arr.length;
const findIndex = <T>(arr: T[], item: T): number | null => {
return arr.indexOf(item) !== -1 ? arr.indexOf(item) : null;
}
제네릭 타입인데, 아직 확실하게 개념 정리가 되지 않아서 ... 우선은 느낌적으로(외우기..) 작성해보았다.
타입이 string이 나올지 number가 나올지를 모르기 때문에 제네릭을 사용해주면 타입스크립트가 알아서 추론해준다고 했다.
앞으로 제네릭을 많이 쓸거라고 하니까 이런식으로 예제 연습을 더 많이 해보면 좀 더 나아지지 않을까 싶다..