Javascript Coffeescript-如何消除这两种说法

Javascript Coffeescript-如何消除这两种说法,javascript,coffeescript,dry,Javascript,Coffeescript,Dry,我有 我宁愿 alert 'yesb' if "blow" in ["slow", "flow", "blow"] alert 'nob' if "blow" not in ["slow", "flow", "blow"] 或 或 或 但是它们都给出了语法错误。CoffeeScript的三元if-then语法是if a>b然后c else d 所以你要找的是 alert 'yesx' else 'nob' if "xrow" not in ["slow", "flow", "grow"]

我有

我宁愿

alert 'yesb' if "blow" in ["slow", "flow", "blow"] 
alert 'nob' if "blow" not in ["slow", "flow", "blow"]


但是它们都给出了语法错误。

CoffeeScript的三元if-then语法是if a>b然后c else d

所以你要找的是

alert 'yesx' else 'nob' if "xrow" not in ["slow", "flow", "grow"]

来自Python的我也有这个问题,因为Python的语法是c if a>b else d。

CoffeeScript的三元if then语法是if a>b then c else d

所以你要找的是

alert 'yesx' else 'nob' if "xrow" not in ["slow", "flow", "grow"]
来自Python的我也遇到了这个问题,因为Python的语法是c if a>b else d.

if是coffee脚本中的一个表达式,这意味着您可以像使用三元运算符一样使用它:使用JavaScript或其他类似c的语言。它将返回最后一个值。所以你可以用这样的方法:

alert(if "blow" in ["slow", "flow", "blow"] then 'yesb' else 'nob')
if是coffee脚本中的表达式,这意味着您可以像使用三元运算符一样使用它:使用JavaScript或其他类似c的语言。它将返回最后一个值。所以你可以用这样的方法:

alert(if "blow" in ["slow", "flow", "blow"] then 'yesb' else 'nob')

如果我使用你的第一个变体,我认为这会起作用:

alert if yourVar in ['slow', 'blow', 'grow'] then 'yes' else 'no'

如果我使用你的第一个变体,我认为这会起作用:

alert if yourVar in ['slow', 'blow', 'grow'] then 'yes' else 'no'

为什么不能使用最基本的东西:if…else语句

if "blow" in ["slow", "flow", "blow"] alert 'yesb' else alert "nob"

为什么不能使用最基本的东西:if…else语句

if "blow" in ["slow", "flow", "blow"] alert 'yesb' else alert "nob"

哇。。。我对这个案例中的某些东西感到非常惊讶=D@epidemian是的,对吗?我认为对于coffeescript编译器来说,生成高效javascript代码的第二个优先事项是生成人类可读的javascript代码。。。我对这个案例中的某些东西感到非常惊讶=D@epidemian是的,对吗?我认为,对于coffeescript编译器来说,生成高效javascript代码的第二个优先事项是生成人类可读的javascript代码。