我需要根据条件将值设置为a。

用CoffeeScript做这件事的最短方法是什么?

例如,这是我在JavaScript中如何做到的:

a = true  ? 5 : 10  # => a = 5
a = false ? 5 : 10  # => a = 10

当前回答

几乎在任何语言中,这都是可行的:

a = true  && 5 || 10
a = false && 5 || 10

其他回答

如果是真的,你也可以把它写成两种说法:

a = 5
a = 10 if false

如果你需要更多的可能性,可以使用switch语句:

a = switch x
  when true then 5
  when false then 10

与布尔它可能是超大的,但我发现它非常可读。

因为所有内容都是表达式,因此会产生一个值,所以可以使用if/else。

a = if true then 5 else 10
a = if false then 5 else 10

你可以在这里看到更多关于表达式的例子。

几乎在任何语言中,这都是可行的:

a = true  && 5 || 10
a = false && 5 || 10

CoffeeScript没有三元操作符。医生是这么说的。

你仍然可以使用这样的语法

a = true then 5 else 10

这样就清楚多了。

多行版本(例如,如果你需要在每行之后添加注释):

a = if b # a depends on b
then 5   # b is true 
else 10  # b is false