首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript:对if/else if/else语句使用三元运算符

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

Stack Overflow用户
提问于 2017-07-23 19:53:47
回答 1查看 435关注 0票数 0

我看到了这些if语句:

代码语言:javascript
运行
复制
 if (cellDate < filterLocalDateAtMidnight) {
    return -1;
 } else if (cellDate > filterLocalDateAtMidnight) {
    return 1;
 } else {
    return 0;
 }

来自this article,我想知道为什么不使用速记if语句(即使用三元运算符)>使用它有缺点吗?这似乎是一个使用它的好机会。

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

代码语言:javascript
运行
复制
cellDate < filterLocalDateAtMidnight ? -1 :(cellDate > filterLocalDateAtMidnight : 1 : 0 );

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-23 20:05:04

嵌套的三元组读起来很混乱,通常应该避免。请参阅Airbnb style guide

在进行数值比较时,通常只需使用减法。即

代码语言:javascript
运行
复制
return cellDate - filterLocalDateAtMidnight;

但要注意,对于非常大的数字,此解决方案很容易发生整数溢出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45264780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档