![](/img/trans.png)
[英]How to annotate an object with Function type that has variable number of arguments in JSDoc?
[英]Proper JSDoc annotations in WebStorm for functions with variable number of arguments?
我已经阅读了这个问题的一堆答案,并且我自己尝试了一些不同的变体,但到目前为止,我还没有找到满足WebStorm的任何东西。 有问题的代码看起来像这样:
var slice = Array.prototype.slice;
/**
* @param {function} func The original function.
* @param {...*} args Bound argument values.
* @returns {function} The partially applied function
*/
function partial(func /* args */) {
var args = slice.call(arguments, 1);
return function() {
return func.apply(this, args.concat(slice.call(arguments)));
};
}
上面的代码触发一条警告,说“JSDoc中描述的参数args没有出现在函数签名中”。 在WebStorm内部,它们有一些类似注释的JS文件,以支持Function.prototype.call之类的自动完成,但这些文件仅用作库。 因此,他们可以在他们的签名中包含任何内容,因此他们只是在最后添加一个额外的参数(在这种情况下将是“args”)。 但是在常规代码中,这不是一个真正的选择。
是否有任何形式的WebStorm实际上接受这种语法没有抱怨,或者这只是一个错误/缺失的功能?
如果我从Michael Bollin的书中正确地记得,你仍然需要在函数签名中添加第二个参数,即使你将通过JavaScript的特殊数组类似的参数对象(可用于每个函数)访问额外的参数,而不是你指定的那个在签名中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.