JsDocでvoidを返す方法は?


81

JsDocでvoidを返すメソッドまたは関数を宣言する特定の方法はありますか?現在、私はvoidデフォルトの戻り値であると信じており、他の戻り値を具体的に提供する必要があります。

/**
 * @return {Integer} The identifier for ...
 */

eslint.org/docs/rules/valid-jsdocによると、@returns {void}誰かがすでに言及しているとのことです:stackoverflow.com/a/45450508/470749
Ryan

回答:


93

JsDocのタイプのセットから選択する必要はないと思います...任意のタイプ名を使用できます(中括弧はタイプであることを示します)ので、次のようにするだけです。

@return {Void}

ただし、これはおそらくJavaScriptの方が正しいでしょう。

@return {undefined}

かもしれません@returns {void}か?
ヘルボーイ2014年

8
@Eugenenullは必ずしも同じではありませんundefined
BadHorsie 2016

6
@return {Void}IntelliJのIDEでのコード検査の警告をスロー@return {undefined}して@return {void}いません。
Shanimal 2016

4
nullと同じになることはありませんundefined。何かがnullの場合でも、それは定義されていますが、値はありません。未定義は、まあ、定義されていません:-)
Magnus Eriksson

3
Ecmascript仕様には、言語のタイプがリストされています。void演算子によって返される値はundefinedです。値のタイプの名前は、と評価されますundefinedUndefined、です。名前はEcmascript仕様で定義されていません。typeof undefined"undefined"Void
アーロンマンスハイム2017

104

クロージャーコンパイラ

GoogleのClosureCompilerのドキュメントによると、何も返されない場合は、@ returnアノテーションを省略してください。

戻り値がない場合は、@ returnタグを使用しないでください。

ソース: https //developers.google.com/closure/compiler/docs/js-for-compiler#tags

jsdoc-toolkit

ただし、さらなるドキュメントには、returnTypeとreturnDescriptionはオプションのパラメーターであるとも記載されています。

returnType-オプション:戻り値の型。

returnDescription-オプション:追加の説明。

ソース: https //code.google.com/p/jsdoc-toolkit/wiki/TagReturns

概要

returnアノテーションを省略するか、パラメーターなしで含めることができます。


10
この答えは、実際には受け入れられているものよりも優れています。関数が結果を返さない場合、undefinedこれはJavascriptですでに暗黙的であり、ドキュメントを読む人に混乱を引き起こす可能性があるため、返されると言ってはいけません。
Lucio Paiva 2014

2
いいえ、私は同意しません。これは良い考えではないと言います。何かが足りないときは、それが意図的なものかどうかはわかりません。戻り値の型について明示undefinedすることで、意図を表明するように強制する場合でも、後で読むときにも役立ちます。明確にするために、私は1つが役に立たないJSステートメントを含めるべきだと言っているのではなく、常にJSDoc@returnsステートメントを含めるべきだと言っています(私は役に立たないコードには反対ですが、「役に立たない」コメントには反対しません)。
Mörre

:IMOそれはあなたの関数やメソッドが返す他の値が、その場合、あなたはこのような何かを得ることが可能である場合には未定義の戻り値の型を指定することは理にかなって@returns {Array|undefined} - returns array if operation successful, otherwise returns undefined
GrayedFox

19

彼らが使用するESlintドキュメントを見る @returns {void}

ソース:http//eslint.org/docs/rules/valid-jsdoc

@returns特定のプロジェクトのコードをプッシュするためにテストに合格するために各関数にを提供する必要があるため、これは私の場合に必要です。


1

何も返されないことを大声で言う必要がある場合は、自由形式の説明でそれを言うことができます。これは、ユーザーが何かが返されることを期待する可能性がある状況を明確にするのに役立ちます。もちろん、関数とパラメーターに適切な名前を付けるだけで、期待される戻り値の型が明らかになるはずですが、常に可能であるとは限りません。

/**
 * This is a funny function. Returns nothing.
 * @param {string} a joke.
 */
var funny = function (joke) {
  console.log(joke);
};
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.