我需要根据条件设置值a
。
用CoffeeScript做到这一点的最短方法是什么?
例如,这就是我在JavaScript中的处理方式:
a = true ? 5 : 10 # => a = 5
a = false ? 5 : 10 # => a = 10
@AJP我认为,即使Ruby有这种功能,三元也会减少咖啡的Ruby风味。咖啡的目标始终是可读性和四舍五入。
—
jcollum
@jcollum同意,但是真正令我最
—
AJP
a = true ? 5 : 10
困扰的是有效的coffeescript,但并不意味着三元结构,而是(在javascript中)它的意思是:a = true ? true : {5:10}
这被称为是一件坏事®另外a = false ? {5 : 10}
在coffeescript中,然后(在javascript中)是等效于:a = true ? false : {5:10}
就其价值而言,我认为这并不好。
如果“ .then..else”用于CoffeeScript,则可能是最好的拼写方式。?作为一个存在运算符很有意义:
—
Paul Oliver
beast = yeti ? "bear"
或者if yeti? then alert "It's a yeti!"
使用?
得很好。
在CoffeeScript中,实际上并不需要单独的三元运算符,因为
—
skalee 2014年
if/then/else
它已经是一个表达式,并且执行相同的操作。如果您真的很想念它,那么您宁愿不习惯C或JavaScript语法。如果可读性不够,有时甚至会发生,只需将整个表达式括在括号中即可。?
正如@PaulOliver所说的,运算符已被JavaScript遗忘了一些更有用的检查。存在的运算符是最好的。
if else then
</ rant> 更短,更容易阅读