簡體   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