残余パラメータと可変長引数関数のJSDoc
残余パラメータ(...args)を使用する関数のJSDocを生成します。可変長引数、タプル残余型、スプレッドパラメータの制約をドキュメント化します。
Advanced Patterns
詳細な説明
残余パラメータのドキュメント化
残余パラメータは、関数が不定数の引数を受け取ることを可能にします。ドキュメントでは各引数が何を表すか、最小数の要件を説明する必要があります。
シグネチャの例
function merge<T extends Record<string, unknown>>(
target: T,
...sources: Partial<T>[]
): T
生成されるJSDoc
/**
* 1つ以上のソースオブジェクトをターゲットオブジェクトにディープマージします。
*
* @template T - ターゲットとソースオブジェクトの形状。
* @param {T} target - マージ先のオブジェクト。このオブジェクトは変更されます。
* @param {...Partial<T>[]} sources - ターゲットにマージされる1つ以上の
* ソースオブジェクト。左から右に適用されます。
* @returns {T} すべてのソースがマージされた変更済みターゲットオブジェクト。
*/
JSDocでの残余パラメータ構文
paramタグでスプレッド演算子を使用します:
@param {...string[]} args - 連結する文字列引数。
最小引数要件
関数が少なくとも1つの残余引数を必要とする場合、説明でこれを述べるか、@throwsを使用して引数が提供されない場合の動作をドキュメント化します。
ユースケース
ログ関数、型付きペイロードを持つイベントエミッター、ビルダーパターンメソッド、可変長の数学関数、merge、concat、composeなどのユーティリティ関数のドキュメント化。