JsDocでvoidを返すメソッドまたは関数を宣言する特定の方法はありますか?現在、私はvoid
デフォルトの戻り値であると信じており、他の戻り値を具体的に提供する必要があります。
/**
* @return {Integer} The identifier for ...
*/
回答:
JsDocのタイプのセットから選択する必要はないと思います...任意のタイプ名を使用できます(中括弧はタイプであることを示します)ので、次のようにするだけです。
@return {Void}
ただし、これはおそらくJavaScriptの方が正しいでしょう。
@return {undefined}
@returns {void}
か?
null
は必ずしも同じではありませんundefined
@return {Void}
IntelliJのIDEでのコード検査の警告をスロー@return {undefined}
して@return {void}
いません。
null
と同じになることはありませんundefined
。何かがnullの場合でも、それは定義されていますが、値はありません。未定義は、まあ、定義されていません:-)
void
演算子によって返される値はundefined
です。値のタイプの名前は、と評価されますundefined
がUndefined
、です。名前はEcmascript仕様で定義されていません。typeof undefined
"undefined"
Void
GoogleのClosureCompilerのドキュメントによると、何も返されない場合は、@ returnアノテーションを省略してください。
戻り値がない場合は、@ returnタグを使用しないでください。
ソース: https ://developers.google.com/closure/compiler/docs/js-for-compiler#tags
ただし、さらなるドキュメントには、returnTypeとreturnDescriptionはオプションのパラメーターであるとも記載されています。
returnType-オプション:戻り値の型。
returnDescription-オプション:追加の説明。
ソース: https ://code.google.com/p/jsdoc-toolkit/wiki/TagReturns
returnアノテーションを省略するか、パラメーターなしで含めることができます。
undefined
これはJavascriptですでに暗黙的であり、ドキュメントを読む人に混乱を引き起こす可能性があるため、返されると言ってはいけません。
undefined
することで、意図を表明するように強制する場合でも、後で読むときにも役立ちます。明確にするために、私は1つが役に立たないJSステートメントを含めるべきだと言っているのではなく、常にJSDoc@returns
ステートメントを含めるべきだと言っています(私は役に立たないコードには反対ですが、「役に立たない」コメントには反対しません)。
@returns {Array|undefined} - returns array if operation successful, otherwise returns undefined
彼らが使用するESlintドキュメントを見る
@returns {void}
ソース:http://eslint.org/docs/rules/valid-jsdoc
@returns
特定のプロジェクトのコードをプッシュするためにテストに合格するために各関数にを提供する必要があるため、これは私の場合に必要です。
何も返されないことを大声で言う必要がある場合は、自由形式の説明でそれを言うことができます。これは、ユーザーが何かが返されることを期待する可能性がある状況を明確にするのに役立ちます。もちろん、関数とパラメーターに適切な名前を付けるだけで、期待される戻り値の型が明らかになるはずですが、常に可能であるとは限りません。
/**
* This is a funny function. Returns nothing.
* @param {string} a joke.
*/
var funny = function (joke) {
console.log(joke);
};
@returns {void}
誰かがすでに言及しているとのことです:stackoverflow.com/a/45450508/470749