摘要:默认参数是指可以给参数一个默认值,也可以指定一个类型。 因为指定了默认参数,所以当函数中不传入任何参数时,就会按照给定的默认值执行。 这些是可选参数。 前面的函数设置了一个参数而我执行时只传递了一个占位参数,所以这个会报错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 可选参数,是不是很酷?
发表评论