typescript的入参(被解构过的入参)怎么设置默认值?

一般的入参设置默认值很简单,如下图

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的类型判断,请问这种情况怎么处理呢?

阅读 2.7k
1 个回答
  type Obj = { a: number, b: number, c: any }
  const { a, b: x, c: y = 3 }: Obj = obj;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题