gpt4 book ai didi

javascript - 'goog.nullFunction' 可以适合特定的函数签名吗?

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:45 26 4
gpt4 key购买 nike

当某些实验标志打开时,我将注入(inject)注册为:

'abcFactory': name.space.createSomeModel

并注入(inject)工厂如下:

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

};

some.component.do.inject = ['abcFactory'];

但是当实验标志关闭时,我可以直接注册吗:

'abcFactory': goog.nullFunction

编译器不会提示函数签名不匹配吗?

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

最佳答案

您可以将参数设为可为空(或者更好但可选),并且仅在标志打开时指定工厂函数:

https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler#optional-parameter-in-a-param-annotation

可能还需要添加一些检查以确保该函数在使用之前不为空。

关于javascript - 'goog.nullFunction' 可以适合特定的函数签名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42217494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com