Array
配列要素が次のいずれかになり得る場合に、JSDocで戻り値(およびパラメーター)を文書化する方法:
- タイプ(例
String
、Array
)。 - オブジェクトリテラル。
Array
配列要素が次のいずれかになり得る場合に、JSDocで戻り値(およびパラメーター)を文書化する方法:
String
、Array
)。配列内のオブジェクトのタイプを文書化する方法を探している場合は、次のようなものが必要です。
/**
* @param {String[]} aliases
*/
ここで中括弧の中にあるのString[]
はパラメータタイプです:String
typeasarray []
。
jsdoc-toolkit、@ Paramタグに関するアーカイブされたwikiページ、パラメータータイプ情報も参照してください。
パラメータタイプ情報
この情報を文書化するには、パラメーターの予想されるタイプを中括弧で囲みます。
/** * @param {String} userName */ function logIn(userName) { // ... }
パイプ記号を使用して、複数のタイプが許可されていることを文書化します。
/** * @param {String|Number} product */
タイプの後に[]表記を使用して、それらのタイプの配列を示します。
/** * @param {String[]} aliases */
与えられた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番目のメソッドが機能しない宣言で使用できることです。
コレクション定義アプローチの欠点は、プロパティ値を記述できないことです。
他のいくつかの回答で与えられたガイダンスがあなたのために働くことに気付くかもしれませんが、私はこの構文を好みます:
/**
* @return {Array<String>} ...
*/
そして、他の人が提供したガイダンスと比較して、これはあなたがあなたの質問で与えた例に基づくあなたの期待に近いと思います。
JSDocに関する優れた情報源は次のとおりです: https ://wiki.servoy.com/display/DOCS/JSDoc+Annotations
編集:移動したリンクを修正しました-気づいてくれてありがとう@hc_dev
http://usejsdoc.org/のJSDocのドキュメントには、タイプがのメンバーを持つ配列の例があります。2つの可能性があります。次のようになります。MyClass
@param{MyClass[]}
このような他のもの:
@param{Array.<MyClass>}
.
との間Array
には注意してください<
。