我的代码在此部分失败。.我无法理解此&&运算符在js中的作用是什么?
export function calculateLineTotals(line, invoice) {
let totals = _calculateLineTotals(line, invoice)
return {
amount: totals.amount &&
totals.amount.decimalPlaces(2).toNumber(),
vatRate: totals.vatRate &&
totals.vatRate.decimalPlaces(2).toNumber(),
grossAmount: totals.grossAmount &&
totals.grossAmount.decimalPlaces(2).toNumber(),
vatAmount: totals.vatAmount &&
totals.vatAmount.decimalPlaces(2).toNumber(),
}
答案 0 :(得分:1)
totals.amount && totals.amount.decimalPlaces(2).toNumber()
totals.amount
的值将为
&&
将评估右侧表达式,如果lefthandside评估为true(不是null
或undefined
或0
)
我想这就是您想知道的
这消除了cant evaluate 'decimalPlaces' of undefined
错误的可能性