什么是简洁优雅的"this number or zero, whichever is higher"表达方式?



我一直在尝试缩短这一行代码:

const priceSet = price.value > 0 ? price.value : 0;

我只是想知道是否有更聪明的方法来写它。这不重要,这不是优先事项,我想多了,但现在我只是想知道。有没有办法用更少的字节写这个,或者没有三元?

请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max

const priceSet = Math.max(price.value, 0);
  • 如果你想">聪明"和">没有三元":

    priceSet = (price.value + Math.abs(price.value)) / 2;
    
  • 如果你想要">最小字节"和">没有三元",请检查@sunknudsen答案。

更短:

let price ={value: 10 }
let price2 ={value: undefined }
const priceSet = price.value || 0; // 10
const priceSet2 = price2.value || 0; // 0

最新更新