函數的重載
//函數的名字相同,函數的參數和個數不同
//需求:有一個add函數,他可以接受2個sting類型的參數進行拼接,也可以接受2個number類型的參數進行相加
//函數重載聲明
function add(x:string,y:string) :string
function add(x:number,y:number) :number
function add(x:string|number,y:string|number) :string|number{
if(typeof x ==='string' && typeof y ==='string'){
return x+y //字符串拼接
}
else if(typeof x ==='number' && typeof y ==='number'){
return x+y //數字相加
}
}
console.log(add(1,2));
console.log(add('11','22'));
// console.log(add('11',12)); 報錯