Does CoffeeScript has a ternary operator?
Javascript has a ternary operator condition ? expr1 : expr2
like:
var x = true;
x ? 'yes' : 'no'
//=> "yes"
x = false;
x ? 'yes' : 'no'
//=> "no"
What about CoffeeScript?
#is-it-ternary.coffee
x ? 'yes' : 'no'
will be compiled to the following:
//is-it-ternary.js
if (typeof x !== 'undefined' && x !== null) {
x;
} else {
({ 'yes': 'no' });
}
Why? Because of The Existential Operator
So there is no ternary operator on CoffeeScript. The best you can do is to have an one-line if-else statement:
if x then 'yes' else 'no'
h/t @mwoods79
Tweet