typeScript4(函数)

函数类型

//注意,参数不能多传,也不能少传 必须按照约定的类型来
const fn = (name: string, age:number): string => {
    return name + age
}

用接口定义函数类型

采用函数表达式接口定义函数的方式时,对等号左侧进行类型限制,可以保证以后对函数名赋值时保证参数个数、参数类型、返回值类型不变。

 interface SearchFunc{

        (source: string, subString: string): boolean;

}

可选参数

注意点:可选参数后面不允许再出现必需参数

//通过?表示该参数为可选参数
const fn = (name: string, age?:number): string => {
    return name + age
}

参数默认值

 const fn = (name: string = "我是默认值"): string => {
    return name
}
fn()

剩余参数

function push(array: any[], ...items: any[]) {
    items.forEach(function(item) {
        array.push(item);
    });
}
let a = [];
push(a, 1, 2, 3);

函数重载 

重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。

解决:为同一个函数提供多个函数类型定义来进行函数重载,编译器会根据这个列表去处理函数的调用。

//如果参数类型不同,则参数类型应设置为 any

//参数数量不同你可以将不同的参数设置为可选。

function fn(params: number): void
 
function fn(params: string, params2: number): void
 
function fn(params: any, params2?: any): void {
 
    console.log(params)
 
    console.log(params2)
 
}

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值