[英]Using if/else to define const in Javascript
我在函數中使用const來定義一些變量,如下所示
const printBlock.format({
name : this.matchedData.clientName,
date : this.matchedData.jobDate,
destination : this.matchedData.address,
apartment : this.matchedData.address2,
stateZip : this.matchedData.zipcode
})
從那時起,我將打印出所有這些內容以便對其進行聲明。 但是,某些數據沒有公寓號,因此將顯示為:
約翰·杜
6/6/2018
Testdemo Avenue 135號
空值
紐約11111
是否可以在聲明const的過程中使用if函數以便使其:
if (this.matchedData.address2 == null){
//Do nothing
} else {
apartment : this.matchedData.address2,
}
否,但是您可以使用三元
var object = {
address: '1111',
apartment : this.matchedData.address2 ? "" : this.matchedData.address2
}
您可以使用Object.assign
並使用property檢查,如果不為null
,則將一個對象分配。
printBlock(Object.assign(
{
name: this.matchedData.clientName,
date: this.matchedData.jobDate,
destination: this.matchedData.address,
apartment: this.matchedData.address2,
stateZip: this.matchedData.zipcode
},
this.matchedData.address2 === null || { apartment: this.matchedData.address2 }
));
您可以先創建沒有單元條目的對象,然后添加不為null的單元條目。
const a = {
name : this.matchedData.clientName,
date : this.matchedData.jobDate,
destination : this.matchedData.address,
stateZip : this.matchedData.zipcode
};
if (this.matchedData.address2 !== null){
a.apartment : this.matchedData.address2;
}
const printBlock({...})
將引發錯誤,因為這不是初始化常量的有效方法。 如果printBlock
是一個函數,為什么不處理printBlock
主體中的空值?
function printBlock(obj) {
for (var prop in obj) {
if (obj[prop]) {
console.log(obj[prop]); // or do whatever you mean by 'print'
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.