/** Generic */
function getSize<T>(arr:T[]){ // TypeParameter 일반적으로 T 사용
return arr.length;
}
const arr1 = [1, 2, 3];
getSize<number>(arr1);
const arr2 = ["1", "2", "3"];
getSize<string>(arr2);
const arr3 = [true, false, true];
getSize(arr3); // 호출 시 제네릭 입력 생략 가능
/** 인터페이스 예시 */
interface Mobile<T>{
name : string;
price : number;
option : T;
}
const mobile1:Mobile<object> = {
name : "안드로이드",
price : 1000,
option : {
color : "red",
free : false
}
}
const mobile2:Mobile<string> = {
name : "아이폰",
price : 10000,
option : "greate"
}```