32

Array配列要素が次のいずれかになり得る場合に、JSDocで戻り値(およびパラメーター)を文書化する方法:

  • タイプ(例StringArray)。
  • オブジェクトリテラル。
4

5 に答える 5

37

配列内のオブジェクトのタイプを文書化する方法を探している場合は、次のようなものが必要です。

/**
 * @param {String[]} aliases
 */

ここで中括弧の中にあるのString[]はパラメータタイプです:Stringtypeasarray []

jsdoc-toolkit、@ Paramタグに関するアーカイブされたwikiページ、パラメータータイプ情報も参照してください。

パラメータタイプ情報

この情報を文書化するには、パラメーターの予想されるタイプを中括弧で囲みます。

/** * @param {String} userName */ function logIn(userName) { // ... }

パイプ記号を使用して、複数のタイプが許可されていることを文書化します。

/** * @param {String|Number} product */

タイプの後に[]表記を使用して、それらのタイプの配列を示します。

/** * @param {String[]} aliases */

于 2012-09-27T18:51:29.467 に答える
33

与えられたscreeningsパラメータ:

screenings = [
    {
        timestamp: 1440157537,
        url: 'https://stackoverflow.com/a/22787287/1269037',
    },
    {
        timestamp: ...,
        url: ...,
    },
];

次の3つの方法のいずれかで文書化できます。

使用@typedef

/**
 * @typedef {Object} screening
 * @property {Number} timestamp - UNIX timestamp.
 * @property {String} url - Booking URL.
 */

/**
 * @param {screening[]}
 */
function positionTimes (screenings) {}

screeningオブジェクトのバリエーションを使用する関数が複数ある場合は、関数の名前空間を使用できます。

/**
 * @typedef {Object} positionTimes~screening
 * @property {Number} timestamp - UNIX timestamp.
 * @property {String} url - Booking URL.
 */

/**
 * @param {positionTimes~screening[]}
 */
function positionTimes (screenings) {}

/**
 * @typedef {Object} filterTimes~screening
 * @property {Number} timestamp - UNIX timestamp.
 * @property {String} url - Booking URL.
 */

/**
 * @param {filterTimes~screening[]}
 */
function filterTimes (screenings) {}

配列内の値のプロパティの文書化:

/**
 * @param {Object[]} screenings
 * @param {Number} screenings[].timestamp - Unix timestamp.
 * @param {String} screenings[].url - Booking URL.
 */
function positionTimes (screenings) {}

@return戻り値には名前がないため、これはed型の記述には機能しません。

コレクション定義の使用:

/**
 * @param {Array.<{timestamp: Number, url: String}>} screenings
 */
function positionTimes (screenings) {}

このアプローチの利点は、ワンライナーであるため@return、2番目のメソッドが機能しない宣言で使用できることです。

コレクション定義アプローチの欠点は、プロパティ値を記述できないことです。

于 2015-08-21T12:08:15.767 に答える
7

他のいくつかの回答で与えられたガイダンスがあなたのために働くことに気付くかもしれませんが、私はこの構文を好みます:

/**
 * @return {Array<String>} ...
 */

そして、他の人が提供したガイダンスと比較して、これはあなたがあなたの質問で与えた例に基づくあなたの期待に近いと思います。

JSDocに関する優れた情報源は次のとおりです: https ://wiki.servoy.com/display/DOCS/JSDoc+Annotations

編集:移動したリンクを修正しました-気づいてくれてありがとう@hc_dev

于 2013-02-25T09:33:33.467 に答える
3

ドコによる@returns

/** 
 * @returns {Array} Lines from the file.
 */
function readLines(filepath) {
}

も参照してください

于 2011-12-14T03:43:28.873 に答える
1

http://usejsdoc.org/のJSDocのドキュメントには、タイプがのメンバーを持つ配列の例があります。2つの可能性があります。次のようになります。MyClass

@param{MyClass[]}

このような他のもの:

@param{Array.<MyClass>}

.との間Arrayには注意してください<

于 2015-11-16T08:14:04.810 に答える