Ternary Operator :::: javascript
Ternary Operator :::: JavaScript
The conditional (ternary) operator is the only JavaScript operator that takes three operands: a condition followed by a question mark (?), then an expression to execute if the condition is truthy followed by a colon (:), and finally the expression to execute if the condition is falsy. This operator is frequently used as a shortcut for the if statement
....................................................................................................................................................
....................................................................................................................................................
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"
Syntax
condition ? exprIfTrue : exprIfFalse
Parameters
condition- An expression whose value is used as a condition.
exprIfTrue- An expression which is evaluated if the
conditionevaluates to a truthy value (one which equals or can be converted totrue). exprIfFalse- An expression which is executed if the
conditionis falsy (that is, has a value which can be converted tofalse). Description
Besides
false, possible falsy expressions are:null,NaN,0, the empty string (""), andundefined. Ifconditionis any of these, the result of the conditional expression will be the result of executing the expressionexprIfFalse.Examples
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(greeting({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 … elsechain: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; } }Specifications
Specification ECMAScript (ECMA-262)
The definition of 'Conditional Operator' in that specification.Browser compatibility
Update compatibility data on GitHub1 12 1 3 3 1 1 18 4 10.1 1 1.0 0.1.100
Comments
Post a Comment