編集これは、3項演算子が有害かどうかの問題ではありません。それは、割り当てステートメントの外で使用する必要があるかどうかについてコンセンサスがあるかどうかについてです。/編集
ブール値に基づいて、2つの異なる関数(戻り値なし)の1つを呼び出します。私はこのJavaScriptのビットを書きました:
(condition) ? doThis(arg) : doThat(arg)
if-elseステートメントを書くよりも見た目がきれいだと思います。
if(condition) {
doThis(arg);
}
else {
doThat(arg);
}
私の同僚は、三項ステートメントは割り当てステートメントでのみ使用するべきだと強く信じています。これについて説明しているスタイルガイドが見つかりません。おそらく、JavaやC#などの言語ではこれがまったく許可されていないためです(コンパイラは値を返すために3項演算子を必要とします)。これは三項ステートメントの悪用と見なされるべきですか?どうして?
Jason Voorheesが割り当てられている可能性があることに注意してください。
—
David Hammen、2015
@gnat-式での?:の一般的な使用に関する質問の複製ではありませんが、これは特に、計算される単一の値がない場合にif-elseの代わりとして使用することに関するものです。
—
ジュール
提案された複製の妥当性について私は2つの考えを持っていますが、この質問は依然として主に意見に基づいているため、再開する意味はありません。
—
Ixrec 2015
なぜこれがきれいに見えると思いますか?このような慣習を破ることは、クリーンの反対です。
—
JacquesB