@use JSDoc

Index

Getting started

Getting started with JSDoc
A quick start to documenting JavaScript with JSDoc.
Using namepaths with JSDoc
A guide to using namepaths with JSDoc.
Command-line arguments to JSDoc
About command-line arguments to JSDoc.
Configuring JSDoc with a configuration file
How to configure JSDoc using a configuration file.
Configuring JSDoc's default template
How to configure the output from JSDoc's default template.
Block and inline tags
Overview of block and inline JSDoc tags.
About JSDoc plugins
How to create and use JSDoc plugins.
Using the Markdown plugin
Enable Markdown support in JSDoc.
Tutorials
Adding tutorials to your API documentation.
Including a Package File
How to show package details in your documentation.
Including a README File
How to include a README file in your documentation.
License
License information for JSDoc.

JSDoc examples

ES 2015 classes
How to add JSDoc comments to ECMAScript 2015 classes.
ES 2015 modules
How to add JSDoc comments to ECMAScript 2015 modules.
CommonJS modules
How to add JSDoc comments to CommonJS and Node.js modules.
AMD modules
How to add JSDoc comments to AMD and RequireJS modules.

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

Contribute

JSDoc project on GitHub
Contribute to JSDoc.
JSDoc documentation project on GitHub
Contribute to the JSDoc documentation.

Fork me on GitHub