Coffeescript中的条件运算符

Blu*_*lub 71 conditional-operator coffeescript

我真的很喜欢这个:

var value = maxValue > minValue ? minValue : maxValue;
Run Code Online (Sandbox Code Playgroud)

在Coffescript中有同样简洁的东西吗?

Tim*_*per 133

value = if maxValue > minValue then minValue else maxValue
Run Code Online (Sandbox Code Playgroud)

  • 你也可以这样做:``value =`maxValue> minValue?minValue:maxValue``` (10认同)

Ric*_*asi 21

javascript和coffeescript都有一个简洁的选项:)

value = Math.min(minValue, maxValue)
Run Code Online (Sandbox Code Playgroud)

  • 在咖啡中,`value = Math.min minValue,maxValue`;) (12认同)
  • 我不认为问题是指实际内容,而是指能够在一条线上完成所有内容.可能是错的. (4认同)
  • 错误的,因为它没有解决问题。OP询问“Coffeescript中的条件运算符”以及如何编写它,并给出了“JS”示例。这只是一个例子,与实际的语法问题无关。 (2认同)

Pet*_*vic 12

正如RăzvanPanda指出的那样,我的评论实际上可能是更好的答案之一:

value = `maxValue > minValue ? minValue : maxValue`
Run Code Online (Sandbox Code Playgroud)


Bri*_*sio 10

这是一种感觉CoffeeScript具有竞争哲学的情况:

  1. 简明扼要
  2. 不要多余

由于所有操作都返回结果,因此if/then/else方式可以为您提供所需的操作.添加?/:运算符是多余的.

这是我希望他们给我们的?/:三元运算符,即使它是多余的...它只是读取比if/then/else变量更好.

只是我的2c.

  • 没有办法让'a?b:在CoffeeScript中没有歧义的c`三元,因为`a?b`有一个含义("a"如果它是非空的,否则为"b"),而"b:c"也有一个(`{b:c}`). (19认同)