javascript:使用if / else if / else语句的三元运算符

时间:2017-07-23 11:53:47

标签: javascript if-statement

我正在看这些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语句?

1 个答案:

答案 0 :(得分:1)

嵌套三元组令人困惑,通常应避免使用。请参阅Airbnb style guide

通过数值比较,您通常可以使用减法。即

return cellDate - filterLocalDateAtMidnight;

但请注意,此解决方案很容易受到整数溢出的影响。