Javascript/TypeScript
[TypeScript] 제네릭(Generics) 사용하는 이유
뉴벡엔드
2024. 3. 13. 18:01
제네릭 사용하는 이유
type Test = {
(arr : number[]) : void;
(arr : string[]) : void;
(arr : boolean[]) : void
}
const test1 : Test =(arr) => {
arr.forEach(a => console.log(a))
}
test1([1,2,3,4])
test1(["a","b","c"])
test1([true,false,true])
test1([1,"a",true,"b"])
test1에 새로운 종류의 배열을 넣을때 마다 test타입에 계속 내용을 추가해야는 불편함이 있음
15번째 줄처럼 여러 타입이 오면 처리하기 힘듬
문법
type Test2 = {
<T>(arr:T[]) : T
}
const test2 : Test2 = (arr) => arr[0]
const a = test2([1,2,3,4])
const b = test2(["a","b","c"])
const c = test2([true,false,true])
const d = test2([1,"a",true,"b"])
여러개의 파라미터를 받을려면 아래와 같이 하면 된다.
type Test2 = {
<T, V>(arr:T[], b:V) : T
}
//type Test2 = <T, V>(arr:T[], b:V) => T
반응형