|
|
|
|
|
by dathinab
2020 days ago
|
|
Nesting them can lead to very not-so-easy to understand logical expressions, furthermore if the parts between ?: is long enough it can also noticeable reduce readability. Instead of `<cond> ? <left> : <right>` I prefer `if <cond> { <left> } else { <right> }` the additional brackets noticeable improve readability and you can extend it to support `if <cond> { <a> } else if <cond2> { <b> } else { <c>` instead of `<cond> ? <a> : <cond2> ? <b> : <c>`.
(Oh and that last example might be wrong needing brackets depending on operator precedence...) Through if you don't nest it it doesn't matter (oh and because it's a expression evaluation `else` is not optional but required as you need a value the expression resolves to). |
|
Note that python uses if/else for the ternary expression form as well: `a = b if c else d`
Though personally, I like to have the condition in the front, instead of in the middle.