現在、オブジェクトをパラメーター/タイプとして文書化する方法は 4 つあります。それぞれに独自の用途があります。ただし、戻り値を文書化するために使用できるのはそのうちの 3 つだけです。
既知のプロパティ セットを持つオブジェクトの場合 (バリアント A)
/**
* @param {{a: number, b: string, c}} myObj description
*/
この構文は、この関数のパラメーターとしてのみ使用され、各プロパティの詳細な説明を必要としないオブジェクトに最適です。にも使え@returns
ます。
既知のプロパティ セットを持つオブジェクトの場合 (バリアント B)
プロパティの構文を持つパラメーターは非常に便利です。
/**
* @param {Object} myObj description
* @param {number} myObj.a description
* @param {string} myObj.b description
* @param {} myObj.c description
*/
この構文は、この関数のパラメーターとしてのみ使用され、各プロパティの詳細な説明が必要なオブジェクトに最適です。には使用できません@returns
。
ソース内の複数のポイントで使用されるオブジェクトの場合
この場合、@typedefが非常に便利です。ソース内のある時点で型を定義し、型を利用できる@param
や@returns
その他の JSDoc タグの型として使用できます。
/**
* @typedef {Object} Person
* @property {string} name how the person is called
* @property {number} age how many years the person lived
*/
@param
これをタグで使用できます。
/**
* @param {Person} p - Description of p
*/
またはで@returns
:
/**
* @returns {Person} Description
*/
値がすべて同じ型のオブジェクトの場合
/**
* @param {Object.<string, number>} dict
*/
最初の型 (文字列) は、JavaScript では常に文字列であるか、少なくとも常に文字列に強制されるキーの型を示しています。2 番目のタイプ (数値) は、値のタイプです。これはどのタイプでもかまいません。@returns
この構文は、同様に使用できます。
資力
ドキュメント タイプに関する有用な情報は、次の場所にあります。
https://jsdoc.app/tags-type.html
PS:
使用できるオプションの値を文書化するには[]
:
/**
* @param {number} [opt_number] this number is optional
*/
また:
/**
* @param {number|undefined} opt_number this number is optional
*/