JSDoc


JSDoc is a markup language used to annotate JavaScript source code files. Using comments containing JSDoc, programmers can add documentation describing the application programming interface of the code they're creating. This is then processed, by various tools, to produce documentation in accessible formats like HTML and Rich Text Format. The JSDoc specification is released under CC BY-SA 3.0, while its companion documentation generator and parser library is free software under the Apache License 2.0.

History

An early example using a Javadoc-like syntax to document JavaScript was released in 1999 with the Netscape/Mozilla project Rhino, a JavaScript run-time system written in Java. It included a toy "JSDoc" HTML generator, versioned up to 1.3, as an example of its JavaScript capabilities.
All main generations of "JSDoc" were headed by micmaths. He started with JSDoc.pm in 2001, a simple system written in Perl, in cooperation with Canadian programmer Gabriel Reid. It was hosted on SourceForge in a CVS repository. By JSDoc 1.0 he rewrote the system in JavaScript, and after a set of expansions JSDoc 2.0 gained the name "jsdoc-toolkit". Released under the MIT License, it was hosted in a Subversion repository on Google Code. By 2011 he has refactored the system into JSDoc 3.0 and hosted the result on GitHub. It now runs on Node.js.
JSDoc's syntax and semantics are similar to those of the Javadoc scheme, which is used for documenting code written in Java. JSDoc differs from Javadoc, in that it is specialized to handle JavaScript's dynamic behaviour.

JSDoc tags

Some of the more popular annotation tags used in modern JSDoc are:

Example


/** @class Circle representing a circle. */
class Circle
/**
* Prints a circle.
*
* @param circle
*/
function printCircle

Note that the and tags can in fact be omitted: the ECMASyntax is sufficient to make their identities clear, and JSDoc makes use of that. can be automatically deduced as well.

JSDoc in use