一.函数的两种声明方式
- 通过 function 关键字来进行声明
function sum(a: string, b: string): string {
return a + b;
}
sum("a", "b");
可以用来限制函数的参数和返回值类型
- 通过表达式方式声明
type Sum = (a1: string, b1: string) => string;
// let sum: Sum = (a: string, b: string) => {
// return a + b;
// };
let sum: Sum = (a, b) => {
return a + b;
};
console.log(sum('hello', 'james'));
// hellojames
二.可选参数
let sum = (a: string, b?: string):string => {
return a + b;
};
sum('a'); // 可选参数必须在其他参数的最后面
三.默认参数
let sum = (a: string, b: string = "b"): string => {
return a + b;
};
sum("a"); // 默认参数必须在其他参数的最后面
四.剩余参数
const sum = (...args: string[]): string => {
return args.reduce((memo, current) => (memo += current), "");
};
sum("a", "b", "c", "d");
五.函数的重载
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');