我经常在我的代码库中使用此条件。也许存在lodash函数:
注意:totalDiscount可以为undefined
const hasDiscount = totalDiscount > 0 || totalDiscount < 0
答案 0 :(得分:0)
由于lodash在Number类型上有only three methods,而Object类型不适合使代码更漂亮,因此我不会专门针对lodash。
为什么不将条件提取到自己的模块中,或者甚至可以使用我们自己的方法扩展lodash对象,如下所示:
_.extend(_.constructor.prototype, {
hasDiscount: function(discount) {
return discount > 0 || discount < 0;
}
});
if(_.hasDiscount(5)){console.log('yes')}
if(_.hasDiscount(-5)){console.log('yes')}
if(_.hasDiscount(undefined)){console.log('no')}
if(_.hasDiscount(0)){console.log('no')}
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.11/lodash.min.js"></script>
答案 1 :(得分:0)
您可以使用普通的javascript
const hasDiscount = Boolean(totalDiscount)
如果totalDiscount
是undefined
,null
或0
,则hasDiscount将false
。
在所有其他情况下,totalDiscount
等于true
。