¿Existe una forma específica de declarar un método o una función para devolver vacío en JsDoc? Actualmente, creo que void
es el valor de retorno predeterminado y se deben proporcionar específicamente otros valores de retorno:
/**
* @return {Integer} The identifier for ...
*/
javascript
ide
jsdoc
Torre
fuente
fuente
@returns {void}
Ahhh alguien ya lo mencionó: stackoverflow.com/a/45450508/470749Respuestas:
No creo que tenga que elegir entre un conjunto de tipos en JsDoc ... puede usar cualquier nombre de tipo que desee (las llaves indican que es un tipo), por lo que simplemente puede hacer:
@return {Void}
Aunque, esto probablemente sea más correcto para JavaScript:
@return {undefined}
fuente
@returns {void}
?null
no es necesariamente lo mismo queundefined
@return {Void}
arroja una advertencia de inspección de código en IntelliJ IDE@return {undefined}
y@return {void}
no lo hace.null
nunca es lo mismo queundefined
. Cuando algo es nulo, todavía está definido pero sin valor. Indefinido es, bueno, no definido :-)void
operador esundefined
. El nombre del tipo de valorundefined
esUndefined
, aunque setypeof undefined
evalúa como"undefined"
. El nombreVoid
no está definido en las especificaciones de Ecmascript.Compilador de cierre
De acuerdo con la documentación del compilador de cierre de Google, si no se devuelve nada, se debe omitir la anotación @return.
Fuente: https://developers.google.com/closure/compiler/docs/js-for-compiler#tags
jsdoc-toolkit
Sin embargo, la documentación adicional también establece que returnType y returnDescription son parámetros opcionales.
Fuente: https://code.google.com/p/jsdoc-toolkit/wiki/TagReturns
Resumen
Puede omitir la anotación de devolución o incluirla sin ningún parámetro.
fuente
undefined
ya que esto ya está implícito en Javascript y puede causar confusión a quien lea sus documentos.undefined
obliga a declarar su intención, también es bueno cuando lo lee más tarde. Solo para aclarar, no estoy diciendo que uno deba incluir una declaración JS inútil, estoy diciendo que siempre se debe incluir una@returns
declaración JSDoc (estoy en contra del código inútil, pero no en contra de los comentarios "inútiles").@returns {Array|undefined} - returns array if operation successful, otherwise returns undefined
Mirando los documentos de ESlint que usan
@returns {void}
Fuente: http://eslint.org/docs/rules/valid-jsdoc
Como necesito proporcionar un
@returns
para cada función para pasar las pruebas a fin de impulsar el código para ciertos proyectos, esto es necesario en mi caso.fuente
Si necesita decir en voz alta que no se devuelve nada, puede decirlo en la descripción de forma libre . Esto es útil para aclarar situaciones en las que un usuario puede esperar que se le devuelva algo. Por supuesto, el nombre adecuado de la función y los parámetros debería hacer aparente el tipo de retorno esperado, pero no siempre es posible.
/** * This is a funny function. Returns nothing. * @param {string} a joke. */ var funny = function (joke) { console.log(joke); };
fuente