有条件的运算符在Coffeescript中
我真的很喜欢这个:
var value = maxValue > minValue ? minValue : maxValue; Coffescript中有没有同样简洁的内容?
 value = if maxValue > minValue then minValue else maxValue 
在javascript和coffeescript中有一个更简洁的选项:)
 value = Math.min(minValue, maxValue) 
正如RăzvanPanda指出的,我的评论实际上可能是更好的答案之一:
 value = `maxValue > minValue ? minValue : maxValue` 
这是一个感觉CoffeeScript有竞争哲学的例子:
- 简明扼要
- 不要冗余
既然所有的操作都返回一个结果,那么if / then / else的做事方式就会给你所需要的东西。 添加?/:运算符是多余的。
这是我希望他们给我们的三元运算符,即使它是多余的…它只是比if / then / else变体更好。
只是我的2C。
你可以这样写:
 value = if maxValue > minValue then minValue else maxValue 
它会像你的代码一样编译。
以下是事实:
在文档中,有一个标题为“条件,三元和有条件分配”的部分 。 这导致人们相信咖啡文本支持
 condition ? when-true : when-false 
但事实上并非如此。
以下是有关解决此问题的补丁的信息
这是补丁(并推送到coffeescript.org ):
http://github.com/jashkenas/coffee-script/commit/ec2d358ae3c82e9888c60695d7cce05edde0c55a
例子:
 mood = greatlyImproved if singing if happy and knowsIt clapsHands() chaChaCha() else showIt() date = if friday then sue else jill options or= defaults 
 value = maxValue > minValue && minValue || maxValue 
这实际上是不正确的,检查评论。