編集: これは技術的には 2 つの部分からなる質問です。一般的な質問をカバーする最良の回答を選択し、特定の質問を処理する回答にリンクしました。
jsdocで匿名オブジェクトと関数を文書化する最良の方法は何ですか?
/**
* @class {Page} Page Class specification
*/
var Page = function() {
/**
* Get a page from the server
* @param {PageRequest} pageRequest Info on the page you want to request
* @param {function} callback Function executed when page is retrieved
*/
this.getPage = function(pageRequest, callback) {
};
};
PageRequest
オブジェクトもcallback
コード内の存在もありません。それらはgetPage()
実行時に提供されます。しかし、オブジェクトと機能が何であるかを定義できるようにしたいと考えています。
PageRequest
次のことを文書化するためのオブジェクトを作成することから逃れることができます。
/**
* @namespace {PageRequest} Object specification
* @property {String} pageId ID of the page you want.
* @property {String} pageName Name of the page you want.
*/
var PageRequest = {
pageId : null,
pageName : null
};
それは問題ありません (ただし、これを行うためのより良い方法を受け入れます)。
callback
関数を文書化する最良の方法は何ですか? たとえば、コールバック関数が次の形式であることを文書で知らせたいと思います。
callback: function({PageResponse} pageResponse, {PageRequestStatus} pageRequestStatus)
これを行う方法はありますか?