默认参数( = )就是能够给 参数一个默认值 同时也能够给指定一个类型函数
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