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

56次阅读

共计 676 个字符,预计需要花费 2 分钟才能阅读完成。

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

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 做占位符传递一个 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

正文完
 0