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

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

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

由于指定了默认参数 add() 函数中在没有传递任何参数的时候 就按照给出的默认值去执行spa

那什么是可选参数?code

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

上面 add() 函数设定了3个参数 可是我在执行的时候只传递了 2 个占位参数图片

那么这样就会报错了:it

图片描述

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

在 js 中均可以不传递全部参数的 那么如何解决这个问题呢?class

两个方法:方法

一、直接 用 undefined 作占位符传递一个 c 参数进去就行了im

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

二、可选参数上场了:img

可选参数( ? )就是 这个参数能够是不传的

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

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

相关文章
相关标签/搜索