Search code examples
javascriptconditional-operator

What is "(…) ? (…) : (…)" notation (three expressions delimited by question mark and colon) in JavaScript?


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).


Solution

  • 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;
    }