【发布时间】:2021-07-03 03:34:01
【问题描述】:
我最近了解到三元运算符,这似乎是清理我的代码的有效方法。但是,我似乎对它的可能性感到困惑。
我知道你不能将它用于 if-only 条件,但我对我所做的逻辑有点困惑。
这是我写的:
if(current_slide < 1){
current_slide = 1;
ToggleEnabled(next_button);
}else if(current_slide > total_slides){
current_slide = 1;
ToggleEnabled(prev_button);
}
不管怎样,它都有效。我想把它清理一下,所以我做了这个:
current_side < 1 ? (ToggleEnabled(next_button), current_slide = 1) : current_slide > total_slides ? (ToggleEnabled(prev_button), current_slide = 1) : [No clue what to put here];
有没有更好的方法以更整洁的方式执行此操作,还是我应该继续使用 if-elseif- ?
【问题讨论】:
-
“我最近了解到三元运算符,这似乎是清理我的代码的有效方法”我会立即对您的来源表示怀疑。
-
您可以使用
&&进行短路,但是您的第一个代码块在 imo 中更具可读性,更小并不总是让事情变得更干净 -
我必须道歉,我看错了第一句话。我想有人告诉你使用条件运算符来清理你的代码。事实并非如此。所以,相反,我只是把我的怀疑集中在“清理”部分。 很少种情况下条件运算符更容易阅读和理解。或者更确切地说,这些案例本身并不少——你可以有效地使用它很多次。只是它经常被误用。
标签: javascript conditional-operator