在咖啡脚本中检查空条件时遇到问题

Having trouble checking for null condition in coffee script

我有一个包含以下内容的咖啡脚本

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

问题是,即使没有“callbackFn”参数传递给函数,“if”块也会被执行。检查参数是否不为空(即是否传递给函数的函数)的正确方法是什么?

代码 if callbackFn != null 转换为 if(callbackFn !== null)。如果您不传递 callbackFn 参数,则 callbackFn = undefinedundefined !== null.

在 coffeescript 中执行此操作的正确方法是:

if callbackFn? then callbackFn()

详细了解 existential operators