7

パラメーターとして渡されたコンストラクター (関数) を文書化するにはどうすればよいですか?

例:

/** @class */
function A() {}

/**
 * @param {Function} aConstructor
 */
function createA(aClass) {
    return new aClass();
}

ご覧のとおり、関数であると指定できます。ただし、その関数が作成するオブジェクトを指定することはできません。これを文書化する方法はありますか?

ありがとう。

4

2 に答える 2

9

Google はそのクロージャを使用して、型の説明として {function(new:type)} を提案しています。私は、次のようなものを使用できると想定しました(AMDで使用しています):

 /** @param {function(new:ClassOrInterfaceName)} aClass */

詳細については、http : //google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml#JavaScript_Typesをご覧ください。

私の答えが誰かを助けることができることを願っています)

于 2014-02-13T15:29:23.153 に答える
0

コメントで説明したように、その機能をサポートしていないように見えるため、リクエストを提出します。instanceof のアプローチを使用すると、コンストラクターのオブジェクト インスタンスを表すには、とりあえず "Function" が最も近いです。前述のように、@constructsまたは@returns出力を示すのに役立つ場合がありますが、パラメーターの入力は示しません。

于 2013-06-16T12:22:35.503 に答える