@class
Syntax
@class
@class {type} name
Overview
@class tells JSDoc that a function is meant to be called with new — that is, it is a constructor for a class. JSDoc documents the function as a class rather than a plain function.
For ES2015 class syntax, you do not need @class — JSDoc recognises class declarations automatically. @class is mainly useful for the older constructor-function pattern.
TSTypeScript Supported
TypeScript uses @class (or @constructor) to treat a function as a class constructor for type-checking in JavaScript files.
Examples
Constructor function (pre-ES2015)
/**
* Creates a new Animal.
* @class
* @param {string} name - The animal's name.
*/
function Animal(name) {
this.name = name;
}
ES2015 class (no @class needed)
/**
* Represents an animal.
*/
class Animal {
/**
* @param {string} name - The animal's name.
*/
constructor(name) {
this.name = name;
}
}
See also
Official reference: jsdoc.app/tags-class