1. 제네릭이란 타입을 함수의 파라미터 처럼 사용하는 것을 의미합니다
2. 간단하게 말하자면 “타입을 변수화” 한것이라고 할수 있습니다.
💡
키워드 < >
왜 쓰는지
💡
변수의 타입을 직접적으로 고정된 값으로 명시하지 말고 ‘변수’를 통해 언제든지 변할 수 있는 타입을 통해 유연하게 코딩 할수 있도록 해줍니다.
사용법
함수의 오버로딩에서
//TypeScript
interface Obj {
x:number
}
type Arr = [number, number]
function toArray(a:string,b:string):string[]
function toArray(a:number,b:number):number[]
function toArray(a:boolean,b:boolean):boolean[]
function toArray(a:Obj,b:Obj):Obj[]
function toArray(a:Arr,b:Arr):Arr[]
function toArray(a:any,b:any){
return [a,b]
}
console.log(
toArray('neo','Anderson'),
toArray(1,2),
toArray(true, false),
toArray({x:1},{x:2}),
toArray([1,2],[3,4]),
)
function toArray(a:string,b:string):string[]
function toArray(a:number,b:number):number[]
function toArray(a:boolean,b:boolean):boolean[]
function toArray(a:Obj,b:Obj):Obj[]
function toArray(a:Arr,b:Arr):Arr[]
function toArray(a:any,b:any){
return [a,b]
}
허용할 타입의 갯수를 늘려주기 위하여 함수를 오버로딩 합니다
💡
1. 그러나 허용될 타입 갯수가 많아질수록 코드가 길어져 가독성이 안좋게 됩니다
2. 이러한 한계 때문에 제네릭이 사용됩니다