我的代码中有多个条件!所以我正在考虑使用问题操作符而不是if() .. else..。但是我不太理解这个运算符。
这是我的代码:
if(this.intake.repairdamageInfo.additionalinfo){
damageObjectModel.price = this.intake.repairdamageInfo.additionalinfo.newPrice;
damageObjectModel.store = this.intake.repairdamageInfo.additionalinfo.storePurchase;
damageObjectModel.dayValue = this.intake.repairdamageInfo.additionalinfo.dayValue;
}
else {
damageObjectModel.price = "";
damageObjectModel.store = "";
damageObjectModel.dayValue = "";
} 我试着这样做,但没有效果:
damageObjectModel.price = this.intake.repairdamageInfo.additionalinfo?.newPrice;
damageObjectModel.store = this.intake.repairdamageInfo.additionalinfo?.storePurchase;
damageObjectModel.dayValue = this.intake.repairdamageInfo.additionalinfo?.dayValue;有人能帮我吗?
发布于 2021-02-08 23:37:55
我会解构并将空字符串指定为默认值:
const { newPrice = '', storePurchase = '', dayValue = '' } = this.intake.repairdamageInfo.additionalinfo ?? {};
Object.assign(damageObjectModel, { price: newPrice, store: storePurchase, dayValue });如果additionalInfo为空,则?? {}将意味着整个右侧将计算为空对象。
你的原始代码
damageObjectModel.price = this.intake.repairdamageInfo.additionalinfo?.newPrice;不起作用,因为如果链失败,?.可选链接将计算为undefined,而不是空字符串。
https://stackoverflow.com/questions/66104627
复制相似问题