@use JSDoc


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.
Tutorials mechanism
Additional longtext tutorials for your code.
Including a Readme File With JSDoc 3
A guide to including a readme file in your documentation.
Command-line arguments to JSDoc
About command-line arguments to JSDoc.
Configuring JSDoc with conf.json
How to configure JSDoc using a configuration file.
Inline tags
Details about the inline tags @link, @linkplain, @linkcode, and @tutorial.
About JSDoc plugins
How to create and use JSDoc plugins.
Using the Markdown plugin
Enable Markdown support in JSDoc.
License information for JSDoc 3.

JSDoc Examples

Document CommonJS Modules
Documenting code that conforms to the CommonJS module standard.


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

Tag Dictionary

@abstract (synonyms: @virtual)
This member must be implemented (or overridden) by the inheritor.
Specify the access level of this member (private, public, or protected).
Treat a member as if it had a different name.
@augments (synonyms: @extends)
This object adds onto a parent object.
Identify the author of an item.
This object uses something from another object.
Document a callback function.
@class (synonyms: @constructor)
This function is intended to be called with the "new" keyword.
Use the following text to describe the entire class.
@constant (synonyms: @const)
Document an object as a constant.
This function member will be the constructor for the previous class.
Document some copyright information.
@default (synonyms: @defaultvalue)
Document the default value.
Document that this is no longer the preferred way.
@description (synonyms: @desc)
Describe a symbol.
Document a collection of related properties.
Document an event.
Provide an example of how to use a documented item.
Identify the member that is exported by a JavaScript module.
@external (synonyms: @host)
Document an external class/namespace/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.
Document a global object.
Omit a symbol from the documentation.
Document an inner object.
Document an instance member.
What kind of symbol is this?
Document properties on an object literal as if they belonged to a symbol with a given name.
Identify the license that applies to this code.
Inline tag - create a link.
@member (synonyms: @var)
Document a member.
This symbol belongs to a parent symbol.
This object mixes in all the members from another object.
Document a mixin object.
Document a JavaScript module.
Document the name of an object.
Document a namespace object.
@param (synonyms: @arg, @argument)
Document the parameter to a function.
This symbol is meant to be private.
@property (synonyms: @prop)
Document a property of an object.
This member is meant to be protected.
This symbol is meant to be public.
This symbol is meant to be read-only.
This file requires a JavaScript module.
@returns (synonyms: @return)
Document the return value of a function.
Refer to some other documentation for more information.
When was this feature added?
Document a static member.
A shorter version of the full description.
What does the 'this' keyword refer to here?
@throws (synonyms: @exception)
Describe what errors could be thrown.
Document tasks to be completed.
Insert a link to an included tutorial file.
Document the type of an object.
Document a custom type.
Distinguish different objects with the same name.
Documents the version number of an item.

Fork me on GitHub