繁体   English   中英

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

[英]javascript: using ternary operator for if/else if/else statement

我正在查看以下if语句:

 if (cellDate < filterLocalDateAtMidnight) {
    return -1;
 } else if (cellDate > filterLocalDateAtMidnight) {
    return 1;
 } else {
    return 0;
 }

本文开始 ,我想知道为什么不使用语句的简写形式(即,使用三元运算符)>使用它有不利之处吗? 似乎是使用它的好机会。

如果可以使用,下面是您如何简化它? 我想重构我的代码,尽管我有点担心会偏离本文中的示例(并且无意中引入了一些特殊情况的问题)

cellDate < filterLocalDateAtMidnight ? -1 :(cellDate > filterLocalDateAtMidnight : 1 : 0 );

我假设在使用null / undefined值的情况下使用单独的if语句?

嵌套的三元数令人难以理解,通常应避免使用。 请参阅Airbnb样式指南

通过数值比较,您通常只能使用减法。

return cellDate - filterLocalDateAtMidnight;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM