如何使TypeScript同时解构函数参数、指定默认值和可选的整个对象类型?
请参阅此最小值函数如何使TypeScript同时解构函数参数、指定默认值和可选的整个对象类型?,typescript,Typescript,请参阅此最小值函数 function addX({ num = 1 }) { return num + 1; } 上述函数完成了两件事 解构函数参数 指定默认值 现在,我可以使用如下函数: add({ num: 2 }); // valid add({}); // valid 然而,我不能这样使用它 add(); // Expected 1 arguments, but got 0 我找不到方法告诉TypeScript整个对象是可选的 // Invalid function add({
function addX({ num = 1 }) {
return num + 1;
}
上述函数完成了两件事
add({ num: 2 }); // valid
add({}); // valid
然而,我不能这样使用它
add(); // Expected 1 arguments, but got 0
我找不到方法告诉TypeScript整个对象是可选的
// 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
整洁的我认为这是唯一的方法。更简单的方法是
函数addX({num=1}={})
,因为你已经有了num