Tengo una función constructora y estoy usando JSDoc para documentarla:
/** * @constructor * @param {String} title The title of the task * @param {Boolean} important Whether the task is important of not */ function Task(title, important) { this.title = title this.important = important // 1 presents to 'unfinished', 2 presents to 'processing', 3 presents to 'finished' this.state = 1 }La documentación se genera:
Pero aquí hay una cosa. Verá en mi función de constructor, tiene una propiedad con el nombre de state , y no hay un uso de parámetro para establecer el valor de la propiedad de state .
Entonces, cuando documento esta función de constructor de Task , no tengo idea de cómo decirles a los lectores que esta función genera objetos que tienen una propiedad de state . Y, por cierto, creo que los desarrolladores cuando lean la documentación, sabrán que los objetos generados por esta función Task tienen el title y las propiedades important porque esas propiedades están documentadas bajo parámetros. Y dado que la propiedad del state no "depende" de ningún parámetro, no sé cómo mostrarlo en la documentación.
Agregue una definición de tipo @typedef para sus objetos Task :
/** * @typedef {object} Task * @property {string} title The title of the task * @property {boolean} important Whether the task is important of not * @property {number} state 1 represents 'unfinished', 2 represents 'processing', 3 represents 'finished' */ y agregue un @returns a la documentación de su función constructora:
/** * @constructor * @param {String} title The title of the task * @param {Boolean} important Whether the task is important of not * @returns {Task} a task object */ function Task(title, important) { this.title = title this.important = important // 1 presents to 'unfinished', 2 presents to 'processing', 3 presents to 'finished' this.state = 1 }