December 21, 2020
내가 선언한 함수들이 중첩되는느낌?
any
가 사용된다. function add(a : string, b : string) : string; // 함수 선언
function add(a : number, b : number) : number; // 함수 선언
function add(a : any, b : any) : any { // 함수 구현
return a + b;
};
add('타입', '스크립트');
add(1, 2)
add('타입', 2)
// 이 호출과 일치하는 오버로드가 없습니다.
// 오버로드 1/2('(a: string, b: string): string')에서 다음 오류가 발생했습니다.
// 오버로드 2/2('(a: number, b: number): number')에서 다음 오류가 발생했습니다.
interface IUser {
name : string
age : number
getData(x : string) : string[] // 함수 선언
getData(x : number) : string // 함수 선언
}
const user : IUser = {
name : 'sangmin',
age : 26,
getData(data : any) : any { // 함수 구현
if(typeof data === 'string') return data.split('');
if(typeof data === 'number') return data.toString();
return null;
}
}
console.log(user.getData('타입스크립트'));
console.log(user.getData(123));