我真的很喜欢这个:
var value = maxValue > minValue ? minValue : maxValue;
Coffeescript中是否有同样简洁的内容?
答案 0 :(得分:130)
value = if maxValue > minValue then minValue else maxValue
答案 1 :(得分:20)
javascript和coffeescript中都有 more 简洁选项:)
value = Math.min(minValue, maxValue)
答案 2 :(得分:12)
正如RăzvanPanda指出的那样,我的评论实际上可能是更好的答案之一:
value = `maxValue > minValue ? minValue : maxValue`
答案 3 :(得分:10)
这种情况让CoffeeScript感受到竞争的理念:
由于所有操作都返回结果,因此if / then / else方式可以为您提供所需的操作。添加?/:运算符是多余的。
这是我希望他们给我们的?/:三元运算符,即使它是多余的...它只是读取比if / then / else变体更好。
只是我的2c。
答案 4 :(得分:3)
你可以这样写:
value = if maxValue > minValue then minValue else maxValue
它会像你的代码一样进行编译。
答案 5 :(得分:2)
在文档中,有一个标题为“条件,三元和条件分配”的部分。这使人们相信coffeescript支持
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
答案 6 :(得分:-1)
value = maxValue > minValue && minValue || maxValue
这实际上不正确,请查看评论。