2015-11-13 126 views
1

我有点不确定如何在coffeescript中做到这一点。现在,我们有一些代码,设置条件变量:multibranch if或coffeescript switch语句

myCar.sparkPlug= options.sparkPlug if options.sparkPlug?

然而,它现在可以在sparkPlug属性可能与另一个值进行初始化:

myCar.sparkPlug = options.glowPlug if options.glowPlug?

我想要做什么myCar.sparkPlug设置为options.SparkPlug的值,但如果存在options.glowPlug,请使用该值。 (这是可能的options对象将同时拥有sparkPlugglowPlug财产。)

我可以通过两行代码上面列出为了做到这一点,但有一个更优雅的方式来做到这一点?

回答

1

如果我明白了,这就是你需要:

myCar.sparkPlug = if options.glowPlug? then options.glowPlug else options.SparkPlug 

或更复杂:

myCar.sparkPlug = if options.glowPlug? then options.glowPlug else (if options.SparkPlug? then options.SparkPlug) 
+0

谢谢。什么是理想的就像'if options.glowPlug?那么options.glowPlug else if options.sparkPlug?然后options.sparkPlug'(我会检查这是否是有效的语法。) – jkj2000

+0

@ jkj2000是的,它是有效的。看看答案 –