Javascript Can';goog.nullFunction';是否适合特定的函数签名?

Javascript Can';goog.nullFunction';是否适合特定的函数签名?,javascript,google-closure-compiler,google-closure-library,javascript-injection,Javascript,Google Closure Compiler,Google Closure Library,Javascript Injection,当某个实验标志打开时,我将注入注册为: 'abcFactory': name.space.createSomeModel 并按如下方式注入工厂: /** * @param {!function(!Object): !some.DataType} abcFactory * @constructor @struct */ some.component.do = function(abcFactory) { }; some.component.do.inject = ['abcFactor

当某个实验标志打开时,我将注入注册为:

'abcFactory': name.space.createSomeModel
并按如下方式注入工厂:

/**
 * @param {!function(!Object): !some.DataType} abcFactory
 * @constructor @struct
 */
some.component.do = function(abcFactory) {

};

some.component.do.inject = ['abcFactory'];
但当“实验”标志关闭时,我是否可以注册:

'abcFactory': goog.nullFunction
没有编译器抱怨函数签名不匹配


“goog.nullFunction”能否匹配任何函数签名?我想可能不会。

您可以选择使参数为null(或者更好的选择),并且只在标志打开时指定工厂函数:

可能还会添加一些检查,以确保在使用函数之前该函数不为null