一般的入参设置默认值很简单,如下图
function a (b: string = 'xx') {}
但如何给解构的入参(如下代码的入参c)赋值呢?
// 想要给入参c加上类型判断和设置默认值
function a (b: string = 'xx, { c: number }) {}
本来按照javascript的一般写法,设置默认值如下:
function a (b, { c = 1 }) {}
如果想要加上类型判断,按照道理只需要加上: number(即{ c: number = 1 })就行了,但是这种写法就和原生javascript的解构语法冲突了。解构语法如下:
const obj = { a: 1, b: 2, c }
const { a, b: x, c: y = 3 } = obj;
// a = 1, x = 2, y = 3
但是同时要加上typescript的类型判断,请问这种情况怎么处理呢?