2016-08-03 46 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