函数扩展
参数类型
//注意,参数不能多传,也不能少传 必须按照约定的类型来
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,返回类型可以相同也可以不同。
作用
通过使用函数重载,可以为同一个函数提供多个不同的函数签名
,从而提供更严格的类型检查和更清晰的函数使用方式。