[英]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.