0

オプションの JavaScript パラメータを文書化するための適切な構文はありますか。オプションのパラメータは関数ヘッダーの途中にあります (jQuery、Gulp などを考えてください)。

私は標準的な方法で関数を文書化しましたが、それはうまくいきます。問題は、2 番目のパラメーターを最後の変数に設定しようとすると (オプションのパラメーターが使用されなかった場合)、IDE が混乱することです。

例:

/**
 * @param {number} a_num
 * @param {string} [a_str='']
 * @param {{}} a_obj
 */
function (a_num, a_str, a_obj) {
    if (!a_obj) a_obj = a_str; // doesn't want me to save a string to an object.
    a_str = '';
    // more stuff
}

問題があれば、私は JetBrains の PHPStorm を使用しています。これは、(主に) Google Closure スタイルのドキュメントを使用しています。私はより一般的なベストプラクティスのアプローチを探していますが。

次のような醜いことができると思います:

/**
 * @param {number} a_num
 * @param {string|{}} a_str
 * @param {{}} [a_obj=null]
 */

しかし、それは私が望むほど正確に状況を説明しているわけではありません。これが一般的な構造になりつつあるので、適切に処理する何かがあることを願っています。

4

1 に答える 1