私はこの質問に対する多くの回答を読み、それらのさまざまなバリエーションを自分でも試しましたが、これまでのところ、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 に記述されているパラメーター引数が関数シグネチャーに表示されません」という警告をトリガーします。WebStorm の内部には、Function.prototype.call などのオートコンプリートをサポートするために同様に注釈が付けられた JS ファイルがいくつかありますが、それらはライブラリとしてのみ使用されます。そのため、署名には何でも含めることができるため、最後に追加の引数を追加するだけです (この場合は「args」になります)。ただし、通常のコードでは、それは実際にはオプションではありません。
WebStorm が実際に苦情なしで受け入れるこの構文の形式はありますか、それともこれは単なるバグ/不足している機能ですか?