Necesito establecer un valor para aeso 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 : 10es 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/elsees 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>