JSDoc
An API documentation generator for JavaScript.
Block Tags
-
@abstract(synonyms:@virtual): This member must be implemented (or overridden) by the inheritor. -
@access: Specify the access level of this member (private, package-private, public, or protected). -
@alias: Treat a member as if it had a different name. -
@async: Indicate that a function is asynchronous. -
@augments(synonyms:@extends): Indicate that a symbol inherits from, and adds to, a parent symbol. -
@author: Identify the author of an item. -
@borrows: This object uses something from another object. -
@callback: Document a callback function. -
@class(synonyms:@constructor): This function is intended to be called with the "new" keyword. -
@classdesc: Use the following text to describe the entire class. -
@constant(synonyms:@const): Document an object as a constant. -
@constructs: This function member will be the constructor for the previous class. -
@copyright: Document some copyright information. -
@default(synonyms:@defaultvalue): Document the default value. -
@deprecated: Document that this is no longer the preferred way. -
@description(synonyms:@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. -
@exports: Identify the member that is exported by a JavaScript module. -
@external(synonyms:@host): Identifies an external class, namespace, or module. -
@file(synonyms:@fileoverview,@overview): Describe a file. -
@fires(synonyms:@emits): Describe the events this method may fire. -
@function(synonyms:@func,@method): Describe a function or method. -
@generator: Indicate that a function is a generator function. -
@global: Document a global object. -
@hideconstructor: Indicate that the constructor should not be displayed. -
@ignore: Omit a symbol from the documentation. -
@implements: This symbol implements an interface. -
@inheritdoc: Indicate that a symbol should inherit its parent's documentation. -
@inner: Document an inner object. -
@instance: Document an instance member. -
@interface: This symbol is an interface that others can implement. -
@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: Identify the license that applies to this code. -
@listens: List the events that a symbol listens for. -
@member(synonyms:@var): Document a member. -
@memberof: This symbol belongs to a parent symbol. -
@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. -
@override: Indicate that a symbol overrides its parent. -
@package: This symbol is meant to be package-private. -
@param(synonyms:@arg,@argument): Document the parameter to a function. -
@private: This symbol is meant to be private. -
@property(synonyms:@prop): Document a property of an object. -
@protected: This symbol 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(synonyms:@return): 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(synonyms:@exception): 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. -
@typedef: Document a custom type. -
@variation: Distinguish different objects with the same name. -
@version: Documents the version number of an item. -
@yields(synonyms:@yield): Document the value yielded by a generator function.
Inline Tags
-
{@link}(synonyms:{@linkcode},{@linkplain}): Link to another item in the documentation. -
{@tutorial}: Link to a tutorial.
Troubleshooting
Parsing error: JSDoc types can only be used inside documentation comments
error: Parsing error: JSDoc types can only be used inside documentation comments at src/shims-debug.d.ts:5:11:
You can't specify parameter type as function(string): void. It's just wrong syntax to define function types in TypeScript.
Instead of:
do: