jsdoc 

Send to Kindle
home » snippets » javascript » jsdoc



It's similar to Javadoc but adapted to JS' dynamic nature.

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.
  • {boolean}, {myNamespace.MyClass}
  • @param {boolean} [ownPropsOnly=false]  ownPropsOnly is optional
@typedef Document a custom type.
@variation Distinguish different objects with the same name.
@version Documents the version number of an item.