繁体   English   中英

如何使 TypeScript 解构 function 参数,分配默认值,以及可选的整个 object 类型?

[英]How can I make TypeScript deconstruct function parameter, assign default value, and optional whole object type at same time?

请参阅此最小值 function

function addX({ num = 1 }) {
  return num + 1;
}

上面的function做了两件事

  1. 解构function参数
  2. 分配默认值

现在,我可以像这样使用 function:

add({ num: 2 }); // valid
add({}); // valid

但是,我不能这样使用它

add(); // Expected 1 arguments, but got 0

我找不到办法告诉 TypeScript 整个 object 是可选的

// Invalid
function add({ num = 1 }?) {
  return num + 1;
}

// Invalid
function add({ num = 1 }?: { num: number }) {
  return num + 1;
}

我怎样才能实现它?

这个怎么样

function addX({ num = 1 } = {num: 1}) {
  return num + 1;
}

addX() // returns 2

addX({}) // returns 2

addX({num: 2}) // returns 3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM