Is used in React (JSX) to process 'if' statements in JS. I will have to study if 'if' statements does not work in JSX or is this new way just a alternative.
condition ? expIfTrue : expIfFalse
An expression whose value is used as a condition.
An expression which is evaluated if the condition evaluates to a truthy value(one which equals or can be converted to true)
An expression which is executed if the condition is falsy (that is, has a value which can be converted to false).
Besides false, possibly falsy expressions ave: null,NaN, O, the empty(" "), and undefined. If condition is any of these, the result of the conditional expression will be the result of executing the expression expIfFalse.
A simple example
var age = 26;
var beverage = (age >= 21) ? "Beer" : "Juice";
console.log(beverage); // "Beer"
Handling null values
One common usage is to handle a value that may be null:
let greeting = person => {
let name = person ? person.name : 'stranger'
return 'Howdy, ${name}`
}
console.log({name:'Alice'})); // 'Howdy, Alice'
console.log(greeting(null)); // 'Howdy, stranger'
Conditional chains
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;}
}