簡體   English   中英

使用if / else在Javascript中定義const

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM