function f4(age:number, cm?:number) : string {//cm为可选参数,可传可不传` `if (cm) {`
return 可选参数------身高为${cm}厘米
; `} else {`
return 可选参数-----年龄${age}岁
`}
}console.log(f4(12))
console.log(f4(24, 175))
4. 有默认值参数的函数
注意:ts会将添加了默认值的参数识别为可选参数,有默认值的参数的位置不受【可选参数必须放在后面】的限制
5. 剩余参数的函数
//当有很多参数的时候,或者参数个数不确定,可以用三点运算符function f6(...rest:number[]) : number[] {` `return [...rest];
}console.log(f6(1,2,3,4,5,6,7,8,9))` `function f7(a:number, b:number, ...rest:number[]) : number[] {` `return [a, b, ...rest]
}
console.log(f7(100,200,1,2,3,4,5,6))
6. 接口中的函数
第一种写法
interface int1 {
say (age:number) : void //抽象方法``}
第二种写法
interface int2 {
say : (age:number) => void //抽象方法``}
7.函数的重载
注意:
先声明所有方法重载的定义,不包含方法的实现
再声明一个参数为any类型的重载方法
实现any类型的方法并通过参数类型(和返回类型)不同来实现重载
typescript中的重载:通过为同一个函数提供多个函数类型定义来实现多种功能的目的
TypeScript 会优先从最前面的函数定义开始匹配,所以多个函数定义如果有包含关系,需要优先把精确的定义写在前面。
function f1(x: number, y: number): number;function f1(x: string, y: string): string;` `// 上面定义函数的格式,下面定义函数的具体实现
function f1(x: any, y: any): any {
return x + y;}` `f1(1, 2);
f1(‘a’, ‘b’);
总结
学过java的同学可能会感觉到有内味了~。Ts函数和Java的方法有这很相似的地方。
下一篇文章会出关于TypeScript的类的知识点,敬请期待。
扫描关注公众号,更多前端技能Get
你点的每个赞,我都认真当成了喜欢
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
最后写上我自己一直喜欢的一句名言:
世界上只有一种真正的英雄主义就是在认清生活真相之后仍然热爱它