// My function does X and Y.
// @params {object} parameters An object containing the parameters
// @params {function} callback The callback function
function(parameters, callback) {
}
Pero, ¿cómo describo cómo deben estructurarse los objetos de parámetros? Por ejemplo, debería ser algo como:
{
setting1 : 123, // (required, integer)
setting2 : 'asdf' // (optional, string)
}
javascript
jsdoc
Andy Hin
fuente
fuente
action
nombre, escribo `foo = ({arg1, arg2, arg2}) => {...}`. Editar: pregunta aquí stackoverflow.com/questions/36916790/…Por ahora hay 4 formas diferentes de documentar objetos como parámetros / tipos. Cada uno tiene sus propios usos. Sin embargo, solo 3 de ellos se pueden usar para documentar valores de retorno.
Para objetos con un conjunto conocido de propiedades (Variante A)
Esta sintaxis es ideal para objetos que se usan solo como parámetros para esta función y no requieren una descripción más detallada de cada propiedad. Se puede utilizar para
@returns
así .Para objetos con un conjunto conocido de propiedades (Variante B)
Muy útiles son los parámetros con sintaxis de propiedades :
Esta sintaxis es ideal para objetos que se usan solo como parámetros para esta función y que requieren una descripción más detallada de cada propiedad. Esto no se puede usar para
@returns
.Para objetos que se usarán en más de un punto en la fuente
En este caso, un @typedef es muy útil. Se puede definir el tipo en un momento de su fuente y utilizarlo como un tipo de
@param
u@returns
u otras etiquetas jsdoc que pueden hacer uso de un tipo.Luego puede usar esto en una
@param
etiqueta:O en un
@returns
:Para objetos cuyos valores son todos del mismo tipo
El primer tipo (cadena) documenta el tipo de las claves que en JavaScript siempre es una cadena o al menos siempre se coaccionará a una cadena. El segundo tipo (número) es el tipo del valor; Esto puede ser de cualquier tipo. Esta sintaxis también se puede utilizar
@returns
.Recursos
Puede encontrar información útil sobre los tipos de documentación aquí:
https://jsdoc.app/tags-type.html
PD:
para documentar un valor opcional que puede usar
[]
:o:
fuente
{{dir: A|B|C }}
?{[myVariable]: string}
Veo que ya hay una respuesta sobre la etiqueta @return, pero quiero dar más detalles al respecto.
En primer lugar, la documentación oficial de JSDoc 3 no nos da ningún ejemplo sobre @return para un objeto personalizado. Consulte https://jsdoc.app/tags-returns.html . Ahora, veamos qué podemos hacer hasta que aparezca algún estándar.
La función devuelve el objeto donde las claves se generan dinámicamente. Ejemplo:
{1: 'Pete', 2: 'Mary', 3: 'John'}
. Por lo general, iteramos sobre este objeto con la ayuda defor(var key in obj){...}
.Posible JSDoc de acuerdo con https://google.github.io/styleguide/javascriptguide.xml#JsTypes
La función devuelve el objeto donde las claves son constantes conocidas. Ejemplo:
{id: 1, title: 'Hello world', type: 'LEARN', children: {...}}
. Podemos acceder fácilmente a las propiedades de este objeto:object.id
.Posible JSDoc de acuerdo a https://groups.google.com/forum/#!topic/jsdoc-users/TMvUedK9tC4
Fíngelo.
El monto completo.
Definir un tipo.
De acuerdo con https://google.github.io/styleguide/javascriptguide.xml#JsTypes
El tipo de registro.
fuente
Para el
@return
uso de etiquetas{{field1: Number, field2: String}}
, consulte: http://wiki.servoy.com/display/public/DOCS/Annotating+JavaScript+using+JSDocfuente
Fuente: JSDoc
fuente
Hay una nueva
@config
etiqueta para estos casos. Se vinculan a lo anterior@param
.fuente
@config
etiqueta? No encontré nada en usejsdoc.org , y esta página sugiere que@config
ha quedado en desuso.@config
está en desuso en este momento. YUIDoc recomienda usar en su@attribute
lugar.