Eu preciso definir o valor para a
que depende de uma condição.
Qual é a maneira mais curta de fazer isso com o CoffeeScript?
Por exemplo, é assim que eu faria em JavaScript:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
a = true ? 5 : 10
é CoffeeScript válido, mas não significa uma estrutura ternária, em vez (em javascript) que significa: a = true ? true : {5:10}
o que é conhecido como um mau thing® Além disso a = false ? {5 : 10}
, em CoffeeScript seguida (em javascript) é equivalente a: a = true ? false : {5:10}
pelo que vale, não acho que seja bom.
beast = yeti ? "bear"
ou if yeti? then alert "It's a yeti!"
usa ?
muito bem.
if/then/else
já é uma expressão e faz a mesma coisa. Se você realmente está sentindo falta disso, está mais acostumado à sintaxe C ou JavaScript do que realmente precisa. Se não for legível o suficiente, e às vezes acontece, basta colocar toda a expressão entre parênteses. O operador ?
foi poupado para verificações mais úteis ausentes no JavaScript, como já foi declarado por @PaulOliver. Operador existente é o melhor.
if else then
</ discurso>