Appearance
4.函数类型
一.函数的两种声明方式
通过function关键字来进行声明
function sum(a: string, b: string):string { return a+b; } sum('a','b')
1
2
3
4可以用来限制函数的参数和返回值类型
通过表达式方式声明
type Sum = (a1: string, b1: string) => string; let sum: Sum = (a: string, b: string) => { return a + b; };
1
2
3
4
二.可选参数
let sum = (a: string, b?: string):string => {
return a + b;
};
sum('a'); // 可选参数必须在其他参数的最后面
1
2
3
4
2
3
4
三.默认参数
let sum = (a: string, b: string = 'b'): string => {
return a + b;
};
sum('a'); // 默认参数必须在其他参数的最后面
1
2
3
4
2
3
4
四.剩余参数
const sum = (...args: string[]): string => {
return args.reduce((memo, current) => memo += current, '')
}
sum('a', 'b', 'c', 'd')
1
2
3
4
2
3
4
五.函数的重载
function toArray(value: number): number[]
function toArray(value: string): string[]
function toArray(value: number | string) {
if (typeof value == 'string') {
return value.split('');
} else {
return value.toString().split('').map(item => Number(item));
}
}
toArray(123); // 根据传入不同类型的数据 返回不同的结果
toArray('123');
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11