函數擴展
參數類型
//注意,參數不能多傳,也不能少傳 必須按照約定的類型來
const fn = (name: string , age : number ) : string => {return name + age
}let desc = fn( "張三", 18)
console.log(desc)
可選參數與默認值
//可選的參數 和 默認參數
const fn_002 = (name: string = "tom" , age? : number ) : string => {return name + age
}let desc_002 = fn_002( )
console.log(desc_002)
接口定義函數
interface Add {//定義參數 num 和 num2 :后面定義返回值的類型( num : number , num2 : number ) : number
}const fn_add : Add = (num : number , num2 : number ) : number =>{return num + num2
}
fn_add( 5 , 5)interface User {name : string,age ?: number
}
function getUserInfo(user : User) : User {return user
}
let u001 = getUserInfo({name : "五十" ,age : 18
})
console.log(u001)
定義剩余參數
const fn_003 = (array : number[] , ...items : any[] ) : any[] =>{console.log( "剩余參數", items )return items
}
let num_list : number[] = [1,2,3]
fn_003( num_list, 4 , 5 , 6 )
函數重載
定義
函數重載是指在 TypeScript 中定義多個具有相同名稱但參數類型或參數數量不同的函數聲明。
函數重載規則
-
1, 多個函數定義使用相同的函數名稱
-
2, 函數參數的數量或類型必須有區別
-
3,如果參數類型不同, 則參數類型應設置為 any
-
4,返回類型可以相同也可以不同。
作用
通過使用函數重載,可以為同一個函數提供多個不同的函數簽名
,從而提供更嚴格的類型檢查和更清晰的函數使用方式。