4
a ? x : y
またはquestion ? answer1 : answer2
のように、if {} else {}
のステートメントに3項条件演算子を使用できます。elseの場合の3項条件演算子
else if
句でこの形式を使用できますか。例えば。何かのように:
a ? b ? x : y : z
...か、これはただのやり過ぎでしょうか?
a ? x : y
またはquestion ? answer1 : answer2
のように、if {} else {}
のステートメントに3項条件演算子を使用できます。elseの場合の3項条件演算子
else if
句でこの形式を使用できますか。例えば。何かのように:
a ? b ? x : y : z
...か、これはただのやり過ぎでしょうか?
x
とy
はa ? x : y
で完全な式なので、正しいタイプの結果が得られる限り、どのようなサブ式も入力できます。
しかし、条件式のネストがすぐに管理不能になり、その括弧を使用すると、非常に良いアイデアです:
let res = a ? (b ? x : y) : z
または
let res = a ? x : (b ? y : z)
あるいは
let res = a ? (b ? w : x) : (c ? y : z)
笑最後に'let res ='。私はその時点で「else if」の可読性がオペレータの簡潔さよりも優先されていると思う: – chicobermuda
@chicobermuda私は同意する - 従って "または"単純な "または"の代わりに "。最後の式と同じように複雑なものを書く必要がある場合は、おそらく 'if' /' else'の連鎖や場合によっては 'switch'の方が良いでしょう。 – dasblinkenlight