Necesito establecer un valor para a
eso depende de una condición.
¿Cuál es la forma más corta de hacer esto con CoffeeScript?
Por ejemplo, así es como lo haría en JavaScript:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
a = true ? 5 : 10
es un coffeescript válido, pero no significa una estructura ternaria, sino que (en javascript) significa: lo a = true ? true : {5:10}
que se conoce como algo malo® Además a = false ? {5 : 10}
en coffeescript entonces (en javascript) es equivalente a: a = true ? false : {5:10}
Por lo que vale, no creo que sea bueno.
beast = yeti ? "bear"
o if yeti? then alert "It's a yeti!"
hace el uso ?
bastante bien.
if/then/else
es una expresión y hace lo mismo. Si realmente lo falta, entonces está más acostumbrado a la sintaxis de C o JavaScript que realmente lo necesita. Si no es lo suficientemente legible, y a veces sucede, simplemente envuelva la expresión completa entre paréntesis. El operador ?
se ha ahorrado para verificaciones más útiles que están ausentes en JavaScript, como ya dijo @PaulOliver. El operador existencial es el mejor.
if else then
</rant>