Skip to main content

Index

Getting Started

Getting Started with JSDoc 3

A quick-start to documenting JavaScript with JSDoc.

Using namepaths with JSDoc 3

A guide to using namepaths with JSDoc 3.

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

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.

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

Contribute

JSDoc project on GitHub

Contribute to JSDoc.

Use JSDoc project on GitHub

Contribute to the JSDoc documentation.