我正在看这些if语句:
if (cellDate < filterLocalDateAtMidnight) {
return -1;
} else if (cellDate > filterLocalDateAtMidnight) {
return 1;
} else {
return 0;
}
来自this article,我想知道为什么没有使用短手if语句(即使用三元运算符)&gt;使用它有缺点吗?这似乎是一个使用它的好机会。
如果可以使用,下面是如何简化它的?我想重构我的代码,虽然我有点担心会偏离文章中的例子(并且无意中引入了一些特殊情况故障)
cellDate < filterLocalDateAtMidnight ? -1 :(cellDate > filterLocalDateAtMidnight : 1 : 0 );
我假设在null / undefined值的情况下使用单独的if语句?
答案 0 :(得分:1)
嵌套三元组令人困惑,通常应避免使用。请参阅Airbnb style guide。
通过数值比较,您通常可以使用减法。即
return cellDate - filterLocalDateAtMidnight;
但请注意,此解决方案很容易受到整数溢出的影响。