It's similar to Javadoc but adapted to JS' dynamic nature.
Links
- Documentation
- github: jsdoc3/jsdoc
- discussion list: jsdoc-users
- Tag Dictionary | Inline tags
- Tutorials mechanism
- Example
- Plugin Reference
- Closure Compiler
| Tag | Description |
|---|---|
| Inline tags | All about inline tags {@link ...}, {@linkplain ...}, {@linkcode ...}, {@tutorial ...}. |
| @abstract | This member must be implemented (or overridden) by the inheritor. |
| @access | Specify the access level of this member - private, public, or protected. |
| @alias | Treat a member as if it had a different name. |
| @augments | This object adds onto a parent object. |
| @author | Identify the author of an item. |
| @borrows | This object uses something from another object. |
| @callback | Document a callback function. |
| @classdesc | Use the following text to describe the entire class. |
| @constant | Document an object as a constant. |
| @constructor | This function is intended to be called with the "new" keyword. |
| @constructs | This function member will be the constructor for the previous class. |
| @copyright | Document some copyright information. |
| @default | Document the default value. |
| @deprecated | Document that this is no longer the preferred way. |
| @desc | Describe a symbol. |
| @enum | Document a collection of related properties. |
| @event | Document an event. |
| @example | Provide an example of how to use a documented item. |
| @exception | Synonym for @throws |
| @exports | Identify the member that is exported by a JavaScript module. |
| @external | Document an external class/namespace/module. |
| @file | Describe a file. |
| @fires | Describe the events this method may fire. |
| @global | Document a global object. |
| @ignore | [todo] Remove this from the final output. |
| @inner | Document an inner object. |
| @instance | Document an instance member. |
| @kind | What kind of symbol is this? |
| @lends | Document properties on an object literal as if they belonged to a symbol with a given name. |
| @license | [todo] Document the software license that applies to this code. |
| @link | Inline tag - create a link. |
| @member | Document a member. |
| @memberof | This symbol belongs to a parent symbol. |
| @method | Describe a method or function. |
| @mixes | This object mixes in all the members from another object. |
| @mixin | Document a mixin object. |
| @module | Document a JavaScript module. |
| @name | Document the name of an object. |
| @namespace | Document a namespace object. |
| @param | Document the parameter to a function. |
| @private | This symbol is meant to be private. |
| @property | Document a property of an object. |
| @protected | This member is meant to be protected. |
| @public | This symbol is meant to be public. |
| @readonly | This symbol is meant to be read-only. |
| @requires | This file requires a JavaScript module. |
| @returns | Document the return value of a function. |
| @see | Refer to some other documentation for more information. |
| @since | When was this feature added? |
| @static | Document a static member. |
| @summary | A shorter version of the full description. |
| @this | What does the 'this' keyword refer to here? |
| @throws | Describe what errors could be thrown. |
| @todo | Document tasks to be completed. |
| @tutorial | Insert a link to an included tutorial file. |
| @type | Document the type of an object. See link for examples.
|
| @typedef | Document a custom type. |
| @variation | Distinguish different objects with the same name. |
| @version | Documents the version number of an item. |