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. |