可选参数
- 假设这个时候我有一个需求: 要求定义一个函数可以实现
2
个数或者 3
个数的加法
- 这个时候就可以利用可选参数来进行实现
- 实现方式为,在需要进行可选的参数名称后面添加一个
?
即可实现
![image-20211128123915272](https://img2020.cnblogs.com/blog/2105804/202111/2105804-20211128123916806-545332331.png)
function add(x: number, y: number, z?: number): number {
return x + y + (z ? z : 0);
}
// let res = add(10, 20);
let res = add(10, 20, 30);
console.log(res);
- 可选参数可以配合
函数重载
一起使用,这样可以让函数重载变得更加强大
function add(x: number, y: number): number;
function add(x: number, y: number, z: number): number;
function add(x: number, y: number, z?: number) {
return x + y + (z ? z : 0);
}
let res = add(10, 20);
// let res = add(10, 20, 30);
console.log(res);
注意点
![image-20211128124227648](https://img2020.cnblogs.com/blog/2105804/202111/2105804-20211128124228578-66744827.png)
function add(x: number, y?: number, z: number): number {
return x + (y ? y : 0) + (z ? z : 0);
}
let res = add(10, 20, 30);
console.log(res);
![image-20211128124323879](https://img2020.cnblogs.com/blog/2105804/202111/2105804-20211128124324870-1923653239.png)
function add(x: number, y?: number, z?: number): number {
return x + (y ? y : 0) + (z ? z : 0);
}
let res = add(10);
console.log(res);
默认参数
function add(x: number, y: number = 10): number {
return x + y;
}
// let res = add(10);
let res = add(10, 30);
console.log(res);
剩余参数
function add(x: number, ...args: number[]) {
console.log(x);
console.log(args);
}
add(10, 20, 30, 40, 50);
![end02](https://img2020.cnblogs.com/blog/2105804/202111/2105804-20211123214022176-1481511294.gif)