定义一个函数
定义函数有2种方式, 分别是函数声明和函数表达式
- js中定义函数
// 函数声明
function sum(x, y) {
return x + y;
}
// 函数表达式
let sum = function (x, y) {
return x + y;
};
- ts中定义函数
在ts中, 我们需要对函数的参数和返回值进行约束
// 函数声明
function sum(x: number, y: number): number {
return x + y;
}
// 函数表达式
这样写是没问题的,因为ts是强类型语言, 所以sum的数据类型会通过类型推导出来
let sum = function (x: number, y: number): number {
return x + y;
};
如果我们想手动给sum添加数据类型,可以这样写
let sum: (x: number, y: number) => number = function (x: number, y: number): number {
return x + y;
};
不要混淆TypeScript 中的 => 和 ES6 中的 =>,在 TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。
在 ES6 中,=> 叫做箭头函数
注: 跟在js中不同,输入参数和指定参数个数不相等就会报错
sum(1, 2, 3); //报错
sum(1,); //报错
函数参数
- 可选参数
// 在:前加?表示该参数是可选参数
function test1(name:string, age?:number){
}
test1("zhangsan", 1);
test1("zhangsan"); // 第二个参数可以不传
- 默认参数
// 使用 = 表示默认参数
// = 默认参数
function test2(name:string, age:number=11){
}
test2("sn", 11);
test2("sn"); // age默认是11
- 可变参数
// ...[]表示可变参数
function test3(name:string, ...hobby: string[]){
}
test3("sn", "篮球", "足球", "乒乓球")
ts的函数今天就先介绍到这里, 后续会继续补充更多ts函数的知识点, 如果喜欢记得点赞或关注哦, 谢啦!!!