2016-08-03 43 views
0

我有以下有故障检查在咖啡脚本空条件

@update_states = (countryElt, stateElt, callbackFn) -> 
    … 
     if callbackFn != null 
     callbackFn() 

的问题是,咖啡脚本,即使没有“callbackFn”参数传递给函数,“如果”块正在执行。检查参数是否为空(即传递给函数的函数)的正确方法是什么?

+0

几乎可以肯定的缩进错误。试着把它放在一行上if if cb then cb()',或者为更强大的版本'如果typeof cb是'function'那么cb()'并且看看是否修复了。另外,你看过输出的JavaScript吗? –

+0

我不知道但是做到了 – Dave

回答

1

代码if callbackFn != null转换为if(callbackFn !== null)。如果您没有通过callbackFn参数,callbackFn = undefinedundefined !== null

正确的方式在CoffeeScript中做到这一点是:

if callbackFn? then callbackFn() 

了解更多关于existential operators