我需要根据条件将值设置为a。
用CoffeeScript做这件事的最短方法是什么?
例如,这是我在JavaScript中如何做到的:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
我需要根据条件将值设置为a。
用CoffeeScript做这件事的最短方法是什么?
例如,这是我在JavaScript中如何做到的:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
当前回答
几乎在任何语言中,这都是可行的:
a = true && 5 || 10
a = false && 5 || 10
其他回答
几乎在任何语言中,这都是可行的:
a = true && 5 || 10
a = false && 5 || 10
多行版本(例如,如果你需要在每行之后添加注释):
a = if b # a depends on b
then 5 # b is true
else 10 # b is false
如果是真的,你也可以把它写成两种说法:
a = 5
a = 10 if false
如果你需要更多的可能性,可以使用switch语句:
a = switch x
when true then 5
when false then 10
与布尔它可能是超大的,但我发现它非常可读。
类似于quotesBro的答案,但没有then关键字。下面是一个使用普通多行if语句的版本。对我来说,这是一个很好的格式。
考虑一下这个正常的if语句
if true
# do stuff
else
# do stuff
然后使用它来赋值(同样,没有Then关键字)
value = if true
5
else
10
value = if false
5
else
10
这编译成javascript作为一个规则的三元
value = true ? 5 : 10;
value = false ? 5 : 10;
a = if true then 5 else 10
a = if false then 5 else 10
见文档。