It's JS, not C, and the secret to reading it is in the rythm:
Q1 ? Y1 : N1/Q2 ? Y2 : N2;
Once you're used to the pattern, it is more legible than the other version.
That being said, I really like the verbose ternary of Python and Rust. Unfortunately they'll never be supported by ECMAscript.
Rust is a different story. It's not a ternary conditional operator there - it's a full blown if expression and any prettifier would format it with proper indentations:
if
let H = if C == 0 { None } else if V == r { Some((g - b) / C) } else if V == g { Some((b - r) / C + 2) } else { Some((r - g) / C + 4) };
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
It's JS, not C, and the secret to reading it is in the rythm:
Once you're used to the pattern, it is more legible than the other version.
That being said, I really like the verbose ternary of Python and Rust. Unfortunately they'll never be supported by ECMAscript.
Rust is a different story. It's not a ternary conditional operator there - it's a full blown
if
expression and any prettifier would format it with proper indentations: