<aside> 💡 목차
</aside>
function generic<T>(arg: T): T {
// T(Type)는 타입 변수 (단일 타입 변수)
// : 해당 타입 변수는 입력 인수의 타입을 T로 지정
// , 함수의 반환 타입을 T로 지정
return arg;
}
let stringOutput = generic<string>('안녕하세요');
// let stringOutput = generic('안녕하세요'); // <string>은 생략 가능
let stringOutput2 = generic<string>(500); // Error
// 'number' 형식의 인수는 'string' 형식의 매개 변수에 할당될 수 없습니다.
let numberOutput = generic<number>(500);
// let numberOutput = generic<number>(500); // <number>는 생략 가능
let numberOutput2 = generic<number>('반갑습니다'); // Error
// 'string' 형식의 인수는 'number' 형식의 매개 변수에 할당될 수 없습니다.
console.log(stringOutput); // 안녕하세요
console.log(numberOutput); // 500