I found this snippet of code in my travels in researching JSON:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray; I'm seeing more and more of the ? and : notation. I don't even know what it is called to look it up! Can anyone point me to a good resource for this? (btw, I know what != means).
4 Answers
It's called a Conditional (ternary) Operator. It's essentially a condensed if-else.
So this:
var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray; ...is the same as this:
var array; if (typeof objArray != 'object') { array = JSON.parse(objArray); } else { array = objArray; } 3It's the ternary conditional operator -- basically,
if (condition) { a = 4; } else { a = 5; } becomes
a = condition ? 4 : 5; 1That’s called the conditional operator:
1condition ? expr1 : expr2If
conditionistrue, the operator returns the value ofexpr1; otherwise, it returns the value ofexpr2.
Just read it like this:
result = (condition) ? (true value) : (false value); place what ever you like in the 3 operators.
As many has compared it to an IF.. THEN structure, so it is.