Operator is frequently used as an alternative to an if...else
statement
condition ? exprIfTrue : exprIfFalse
function getFee(isMember) { return isMember ? '$2.00' : '$10.00'; } console.log(getFee(true)); // Expected output: "$2.00" console.log(getFee(false)); // Expected output: "$10.00" console.log(getFee(null)); // Expected output: "$10.00"
The ternary operator is right-associative, which means it can be "chained" in the following way, similar to an if … else if … else if … else
chain
function example() { return condition1 ? value1 : condition2 ? value2 : condition3 ? value3 : value4; } // equivalent to function example() { if (condition1) { return value1; } else if (condition2) { return value2; } else if (condition3) { return value3; } else { return value4; } }