typescript 可选参数-10、TypeScript的函数可选参数和默认参数

摘要:默认参数是指可以给参数一个默认值,也可以指定一个类型。 因为指定了默认参数,所以当函数中不传入任何参数时,就会按照给定的默认值执行。 这些是可选参数。 前面的函数设置了一个参数而我执行时只传递了一个占位参数,所以这个会报错typescript 可选参数,也就是说没有传递参数

默认参数( = )表示可以给参数赋予默认值,也可以指定类型

const add = (a: number = 10, b: number = 20): number => {
     return a + b
};
let result = add();
console.log(result);      // 30

因为指定了默认参数,所以当add()函数中没有传入参数时,就会按照给定的默认值执行。

哪些是可选参数?

const add = (a: number = 10, b: number = 20, c: number): number => {
     return a + b + c
};
let result = add(undefined, undefined);

上面的 add() 函数设置了 3 个参数,但我在执行过程中只传递了 2 个占位符参数

那么这样就会报错:

含义:没有为“c”传递任何参数;

js中不可能传递所有参数,那么如何解决这个问题呢?

两种方式:

1. 只需使用 undefined 作为占位符并将 ac 参数传递给它即可。

const add = (a: number = 10, b: number = 20, c: number): number => {
     return a + b + c
};
let result = add(undefined, undefined, 30);    // 60

2.出现可选参数:

可选参数(?)表示该参数不能传递

const add = (a: number = 10, b: number = 20, c?: number): number => {
     return a + b + c
};
let result = add();
console.log(result);      // 30

这样的函数无需传递单个参数就能正常运行typescript 可选参数,是不是很酷?