10、TypeScript 之function可选参数和默认参数

默认参数( = )就是可以给 参数一个默认值 同时也可以给指定一个类型

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 个占位参数

那么这样就会报错了:

10、TypeScript 之function可选参数和默认参数

意思是: 没有传递一个‘c’的参数;

在 js 中都可以不传递所有参数的 那么如何解决这个问题呢?

两个方法:

1、直接 用 undefined 做占位符传递一个 c 参数进去就好了

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

这样的函数方法 一个参数都不用传递 还可以正常运行 是不是很 cool

相关推荐