Which are the side-effects of this operator? I have never experienced any...
But... you're using them, nevertheless! Generally one should use if (and else) for flow control and ?: to operate on values, e.g.
if (something) {
do 'this';
} else {
do 'that';
}
do (something ? 'this' : 'that');
Of course ?: also acts like an "if-then-else" and you can use it like that. But that's what is generally considered a side effect, since you're discarding its return value which its key feature. |