[英]TS: Return object keys depending on input parameters
我有以下 function:
function getObject(inputObject, additionalParam1?, additionalParam2? ) {
const returnObject = {...inputObject }
if(additionalParam1) {
returnObject.additionalParam1 = additionalParam1
}
if(additionalParam2) {
returnObject.additionalParam2 = additionalParam2
}
return returnObject
}
它工作得很好,但是代碼對我來說看起來很丑,因為所有的 if 語句。 我還對返回值進行了后端驗證,它希望 additionalParam1 和 additionalParam2 具有完全正確的類型或根本不存在,因此具有以下內容:
additionalParam1 = undefined / null
returnObject 內部不是一個選項。
有沒有辦法讓代碼更漂亮、更易讀?
你可以考慮這樣的事情:
function getObject(inputObject, additionalParam1?, additionalParam2?) {
return {
...inputObject,
...additionalParam1 ? {additionalParam1} : {},
...additionalParam2 ? {additionalParam2} : {}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.