ts的函数类型

ts的函数类型

1、函数声明

function sum(x: number,y:number):number {
 return x+y;
}

注意:输入多余(或者少于要求的)参数。是不被允许的:

function sum(x:number,y:number):number {
  return x + y;
}
sum(1,2,3);//不被允许
function sum(x:number,y:number):number {
 return x + y;
}
sum(1);//不被允许

2、函数表达式

let mySum:(x:number,y:number) =>number = function(x:number,y:number):number {
  return x+y;
}

3、用接口定义函数的形状

interface SearchFun {
 (source:string,subString:string):boolean;
}
let mySearch: SearchFun;
mySearch = function(source:string,subString:string) {
 return source.search(subString) != -1;
}

4、可选参数

function buildName(firstName:string,lastName?:string) {
 if(lastName) {
 return firstName + '' + lastName
 } else {
  return firstName
 }
}
let tomcat = buildName('Tom','cat');
let tom = buildName('Tom')

需要注意的是:可选参数必须在必需参数后面,换句话说,可选参数后面不允许在出现必须参数了。

5、参数默认值

ts中会将添加了默认值的参数识别为可选参数,此时就不受【可选参数必须接在必需参数后面】的限制了

function buildName(firstName:string = 'Tom',lastName:string) {
 return firstName + '' + lastName;
}
let tomcat = buildName('Tom','Cat');
let cat = buildName(undefined,'Cat');

6、剩余参数

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

7、重载

function reverse(x:number):number;
function reverse(x:string):string;
function reverse(x:number | string):number | string | void {
 if(typeof x === 'number') {
  retrun Number(x.toString().split('').reverse().join(''))
 } else if(typeof x === 'string') {
  return x.split('').reverse().join('');
 }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在TypeScript中,可以使用以下几种方式来定义函数类型。首先,可以使用函数声明法来定义函数类型,例如:\[1\] ```typescript function fun(): string { return '123'; } ``` 其次,可以使用匿名函数法来定义函数类型,例如:\[3\] ```typescript let fun2 = function (): number { return 123; }; ``` 还可以定义没有返回值的方法,例如:\[3\] ```typescript function fun3(): void { console.log(111); } ``` 此外,为了实现函数重载,可以引入可选参数,例如:\[2\] ```typescript function times(x: number, y?: number) { if (y) { return x * y; } return x; } ``` 以上是在TypeScript中定义函数类型的几种常见方式。 #### 引用[.reference_title] - *1* [TS函数类型定义](https://blog.csdn.net/weixin_44530344/article/details/126683321)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [TS基础——为函数声明类型](https://blog.csdn.net/weixin_41387874/article/details/123078371)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [TS复习-----TS中的函数](https://blog.csdn.net/qq_63358859/article/details/126926898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值