我具有以下功能:
function getObject(inputObject, additionalParam1?, additionalParam2? ) {
const returnObject = {...inputObject }
if(additionalParam1) {
returnObject.additionalParam1 = additionalParam1
}
if(additionalParam2) {
returnObject.additionalParam2 = additionalParam2
}
return returnObject
}
它可以正常工作,但是由于所有的if语句,代码对我来说很难看。我还对返回值进行了后端验证,它希望extraParam1和AdditionalParam2具有完全正确的类型或根本不存在,所以应该有以下内容:
additionalParam1 = undefined / null
在returnObject里面不是选项。
有没有办法使代码更漂亮,更易读?
答案 0 :(得分:1)
您可以考虑这样的事情:
function getObject(inputObject, additionalParam1?, additionalParam2?) {
return {
...inputObject,
...additionalParam1 ? {additionalParam1} : {},
...additionalParam2 ? {additionalParam2} : {}
}
}